LINUX.ORG.RU

PureRef не запускается из-за QT_AUTO_SCREEN_SCALE_FACTOR

 


0

1

Проблема конкретно только с PureRef. При запуске из консоли выдает данное сообщение:

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: linuxfb, vnc, xcb.

Aborted (core dumped)

Либо:

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
Invalid MIT-MAGIC-COOKIE-1 keyqt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: linuxfb, vnc, xcb.

Aborted (core dumped)

Переустанавливал - ошибка остается даже на другой версии(на сайте 2 версии + с Appimage все также). Плагины, про которые пишется в сообщении, вроде установлены. Иногда, после перезапуска системы, приложение запускается и нормально работает. Вот что пишет при успешном запуске:

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
QFontDatabase: Cannot find font directory /tmp/.mount_PureReJLSCP3/usr/bin/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
"Your version of PureRef is up to date."
"Latest version reported from the server is '1.11.1'"

Что пишет при export QT_DEBUG_PLUGINS=1:

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "archreq": 0,
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 330752
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqvnc.so"
Found metadata in lib /tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archreq": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 330752
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqxcb.so"
Found metadata in lib /tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 330752
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_PureReRguWJE/usr/bin/platforms" ...
loaded library "/tmp/.mount_PureReRguWJE/usr/bin/plugins/platforms/libqxcb.so"
qt.qpa.xcb: could not connect to display desktop:0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: linuxfb, vnc, xcb.

Aborted (core dumped)

Возможно ли что ошибка из-за старой версии Qt(5.12.7)? Что сделать/установить для решения данной проблемы? Система - openSUSE 15.2 Leap

Ответ на: комментарий от andytux

Отсюда https://stackoverflow.com/questions/58194247/warning-qt-device-pixel-ratio-is-deprecated и отсюда https://unix.stackexchange.com/questions/199891/invalid-mit-magic-cookie-1-key-when-trying-to-run-program-remotely:

lureju@localhost:~> export QT_DEVICE_PIXEL_RATIO=0
lureju@localhost:~> export QT_AUTO_SCREEN_SCALE_FACTOR=1
lureju@localhost:~> export QT_SCREEN_SCALE_FACTORS=1
lureju@localhost:~> export QT_SCALE_FACTOR=1
lureju@localhost:~> /home/lureju/Documents/PureRef-1.11.1_x64.Appimage 
Invalid MIT-MAGIC-COOKIE-1 keyqt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: linuxfb, vnc, xcb.

Aborted (core dumped)
lureju@localhost:~> export DISPLAY=desktop:0
lureju@localhost:~> /home/lureju/Documents/PureRef-1.11.1_x64.Appimage 
qt.qpa.xcb: could not connect to display desktop:0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: linuxfb, vnc, xcb.

Aborted (core dumped)
lureju@localhost:~> 
Lumpupu ()
Ответ на: комментарий от deep-purple

Половину сообщения вообще не понял. xcb я потыкал, но выхлопа не было - ошибка не менялась, в отличии от других дейсвий. Почему тогда при некоторых запусках все работает нормально а при остальных нет?

Lumpupu ()
Ответ на: комментарий от andytux

Здесь нашел про HiDPI https://habr.com/ru/post/403165/. Вот выход xdpyinfo | grep -B 2 resolution:

Invalid MIT-MAGIC-COOKIE-1 keyscreen #0:
  dimensions:    3520x1080 pixels (972x301 millimeters)
  resolution:    92x91 dots per inch

Вероятно проблема в «Invalid MIT-MAGIC-COOKIE-1 keyscreen #0:» + «92x91 DPI», т.к. в статье «screen #0:» и DPI весь должен быть кратным 96 соответственно.

Lumpupu ()
Ответ на: комментарий от Lumpupu

Решило проблему https://askubuntu.com/questions/984359/x11-invalid-mit-magic-cookie-1-key :

lureju@localhost:~> xhost +local:
Invalid MIT-MAGIC-COOKIE-1 keynon-network local connections being added to access control list
lureju@localhost:~> sudo xhost +local:
[sudo] password for root: 
xhost:  unable to open display ""
lureju@localhost:~> xdpyinfo | grep -B 2 resolution
screen #0:
  dimensions:    3520x1080 pixels (931x285 millimeters)
  resolution:    96x96 dots per inch

Послк этого заработало приложение. Что нужно сделать чтобы не не писать эту комманду каждый раз?

Lumpupu ()
Ответ на: комментарий от Zubok

После перезапуска системы все вернулось на кргуи своя. К тому же xhost +local: перестал помогать.

После удаления файла не могу ничего сделать через меню kde (перезапуск, logout и т.д.). Пробовал сочетаня клавиш тоже ничего.

Я наверно не правильно понял или делаю что-то не так, что вы имели ввиду под «перезайди в иксы под своим пользователем и попробуй снова» после удаления файла? Ну или какая это команда?

Lumpupu ()
Ответ на: комментарий от Lumpupu

Я наверно не правильно понял или делаю что-то не так, что вы имели ввиду под «перезайди в иксы под своим пользователем и попробуй снова» после удаления файла? Ну или какая это команда?

Короче, удали файл и перезагрузи систему. Так будет проще, чем объяснять.

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

ctrl + alt + f2 наверно должно было бать…

После перезапуска фалй на месте. Выход комманды вроде как изменился - тперь без ошибки MIT…

lureju@localhost:~> xdpyinfo | grep -B 2 resolution
No protocol specified
screen #0:
  dimensions:    3520x1080 pixels (972x301 millimeters)
  resolution:    92x91 dots per inch

Сама ошибка на месте.

Lumpupu ()
Ответ на: комментарий от Zubok

Значение DPI должно быть кратно 96? Если да, то может сделать как здесь https://habr.com/ru/post/403165/? Возмножно в этом проблема…

"Всё равно не работает? Пропишем DPI в Иксы вручную. Создайте, если уже нет, файл /etc/X11/xorg.conf.d/90-monitor.conf и в него напишите:

А для фирменных дров Nvidia

Section "Monitor"
    Identifier             "Prikolny monitor"
    Option                 "DPI" "192 x 192"
EndSection"

Может в xorg.conf что-то надо прописать для нормально DPI? Этот файл я созадал по привычке в папке X11, хоть пробем и не было, переместил его как оф вики говорит в xorg.conf.d. Там тоже вроде все нормально отрабатывало, но на ошибку это не повлияло. Сейчас сижу без этого файла, как и приписывает на оф вики.

PureRef работал с таким сообщением:

lureju@localhost:~> xdpyinfo | grep -B 2 resolution
screen #0:
  dimensions:    3520x1080 pixels (931x285 millimeters)
  resolution:    96x96 dots per inch

PureRef писал при успешном запуске:

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
QFontDatabase: Cannot find font directory /tmp/.mount_PureReJLSCP3/usr/bin/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
"Your version of PureRef is up to date."
"Latest version reported from the server is '1.11.1'"

Сейчас пишет:

lureju@localhost:~> xdpyinfo | grep -B 2 resolution
No protocol specified
screen #0:
  dimensions:    3520x1080 pixels (972x301 millimeters)
  resolution:    92x91 dots per inch

И

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: linuxfb, vnc, xcb.

Aborted (core dumped)

На ноуте кстати такая же проблема, система та же.

Lumpupu ()
Ответ на: комментарий от Zubok

Нашел похожую проблему: https://forum.qt.io/topic/118543/linux-qt-qpa-plugin-could-not-load-the-qt-platform-plugin-xcb-in-even-though-it-was-found/3 ссылается на это https://unix.stackexchange.com/questions/118811/why-cant-i-run-gui-apps-from-root-no-protocol-specified.

У меня также при некторых коммандах появляется несколько сообщений: No protocol specified No protocol specified … но само приложение запускается(screenfetch в данном случае)

Может быть не стоит с этим парится на Leap и установить Tumbleweed, т.к. там поновее пакеты и сам qt?

Lumpupu ()
Ответ на: комментарий от Lumpupu

Все твои поиски не туда. У тебя приложение из твоего AppImage не видит X-сервера, не может с ним соединиться:

qt.qpa.xcb: could not connect to display :0

Поэтому все, что ты делаешь с настройкой сервера X, сейчас не имеет никакого смысла. Надо понять, что ему не хватает. Как только приложение увидит сервер, соединиться с ним, оно покажется. Возможно, что приложение аутентификацию не проходит.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 2)

Ты случайно не используешь сеанс KDE на Wayland? Я не знаю, что находится в коробке Opensuse 12.5 Leap, но были новости, что туда могли это включить:

https://news.opensuse.org/2018/02/08/plasma-5-12-brings-wayland-to-leap/

Если ты как-то умудрился выбрать Wayland, то запусти сеанс на базе Xorg.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Lumpupu

Если у тебя Wayland (это ты проверь), то я не особо тут помошник. Либо меняй Wayland на Xorg, либо вот еще:

https://github.com/AppImage/AppImageKit/issues/664#issuecomment-369247706

Насколько я понимаю выхлоп твоей программы, Qt, идущее с ней, поддерживает только вот эти платформы:

Available platform plugins are: linuxfb, vnc, xcb.

xcb - это X11. Поэтому сервер X просто необходим хотя бы в виде XWayland, если у тебя Wayland.

UPD: Хотя... раз у тебя работает xdpyinfo, то X-сервер есть, конечно.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

2 раза проверил это решение https://forums.opensuse.org/showthread.php/537783-Invalid-MIT-MAGIC-COOKIE-1-key?p=2916389#post2916389 - работает, программа запускается + выхлоп xdpyinfo | grep -B 2 resolution становится нормальным:

lureju@localhost:~> xdpyinfo | grep -B 2 resolution
screen #0:
  dimensions:    3520x1080 pixels (972x301 millimeters)
  resolution:    92x91 dots per inch

После перезапуска системы на место screen #0: встает MIT-MAGIC-COOKIE-1 в xhost тоже заваливается этот MIT.

Lumpupu ()
Ответ на: комментарий от Lumpupu

2 раза проверил это решение https://forums.opensuse.org/showthread.php/537783-Invalid-MIT-MAGIC-COOKIE-1-... - работает, программа запускается

Не совсем понял. Удаление ~/.Xauthority помогает? Ты вроде выше сказал, что это ничего не меняет.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

В этот раз я не перезагружал. Тогда т.к. я не мог через меню выйти/запустить консоль и т.д. я через уже запущенную консоль прописал reboot. После перезапуска я пробовал grep и PureRef запустить - 1 нормально, 2 осталась ошибка.

Ну или я где-то в тот раз накосячил, не могу исключать). Сейчас через Ctrl+Alt+F1 и т.д. все полчилось.

Lumpupu ()
Ответ на: комментарий от Lumpupu

На пк поставил Tumbleweed, на ноуте оставил Leap. На пк PureRef запускается, ругается, правда, все на тоже, но работает(после перезапуска тоже):

Warning: QT_AUTO_SCREEN_SCALE_FACTOR is deprecated. Instead use:
   QT_ENABLE_HIGHDPI_SCALING to enable platform plugin controlled per-screen factors.
QFontDatabase: Cannot find font directory /tmp/.mount_PureReYw6naZ/usr/bin/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
"Your version of PureRef is up to date."
"Latest version reported from the server is '1.11.1'" 

На ноуте же все также, только Ctrl+Alt+F7 не возвращает меня на экран логина, хотя делаю так, как на компе, но это возможно связано с медиа кнопками на ноуте… незнаю.

Lumpupu ()
Ответ на: комментарий от Lumpupu

На ноуте же все также, только Ctrl+Alt+F7 не возвращает меня на экран логина,

Вполне вероятно, что у тебя иксы на на VT7 открыты, а на VT2, например. Перебери все Ctrl+Alt+F<n>. F7 - это седьмой VT.

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

Все F-ы перепробовал - нема, что на F9, что на F8(все нажимал, максимум - мигающий прочерк слева вверху).

После нажатия Ctrl + Alt + Del/Backspace происходят какие-то телодвижения, но без гарантии успешного входа обратно/выкл системы: было что не мог выключиться или был только экран логина + черый экран с курсором, но был 1 нормальный перезапуск(через Ctrl + Alt + Del вроде) с последующим успешным запуском PureRef.

При следующей попытке не получилось вообще перезапуститься, пришлось через кнопку выключать.

Скорее всего тогда тоже не прокатило.

Lumpupu ()