Проблема масштабирования / HiDPI для Приложения QT5 под GNOME

/ usr / bin / mail выполняет двойную вилку , чтобы демонизировать sendmail для отправки электронной почты. Эта процедура sendmail переименовывается в init , поэтому обычно на нее не влияет что-либо, что происходит с исходным родителем, за исключением случая systemd, когда повторно принадлежащий внук находится в том же cgroup как исходный сервис. Когда systemd прекращает работу, он уничтожает все процессы в cgroup, включая повторно зарегистрированный процесс sendmail .

Сама команда mail работала нормально, но sendmail был убит системой systemd прежде, чем она успела выполнить свою задачу.

Вы можете обойти это, установив KillMode в разделе Unit на процесс (по умолчанию группа управления ). Это заставит systemd убить только тот процесс, который он запустил напрямую.

Интересно, что я наткнулся на это при использовании strace . Обычная strace ничего не показала, но письмо mail внезапно начало работать при использовании strace -f . strace -f заставлял основной процесс задерживаться до тех пор, пока все дети и внуки-сироты не закрылись.

5
20.12.2018, 21:01
5 ответов

Según Archlinux Wiki:

Since Qt 5.6, Qt 5 applications can be instructed to honor screen DPI by setting the QT_AUTO_SCREEN_SCALE_FACTOR environment variable.

Entonces, solo necesita editar ~/.profileo ~/.bash_profiley agregar esta línea para exportar la variable de entorno correcta como esta:

export QT_AUTO_SCREEN_SCALE_FACTOR=1

Lo intenté con KeepassXC en ubuntu 18.04 con éxito.

13
27.01.2020, 20:34

Не используйте QT_AUTO_SCREEN_SCALE_FACTOR. Судя по моему опыту, это вызывает какое-то странное масштабирование по умолчанию.

Вместо этого используйте QT_SCALE_FACTOR=1.5.
(или любого другого размера, поддерживает дробное масштабирование.)

Отлично работает на Dell с дисплеем 4K.

Вы также можете добавить это в панель запуска рабочего стола:

Exec=env QT_SCALE_FACTOR=1.5 /path/to/app

Источник:Это работает на моей машине с дисплеем 4k.

2
27.01.2020, 20:34

У меня возникли проблемы с правильной работой Viber на моем дисплее HiDPI. По умолчанию Viber был бы огромным до такой степени, что мне приходилось -развернуть его на весь экран, чтобы использовать его.

Решением было отключить автоматическое масштабирование(QT_AUTO_SCREEN_SCALE_FACTOR=0)и установить значение вручную(QT_SCALE_FACTOR=1.5).

Я изменил строку Exec=в /usr/share/applications/viber.desktopна эту:

Exec=/usr/bin/env QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCALE_FACTOR=1.5 /usr/bin/viber %u

Теперь все выглядит идеально. Ваш пробег может варьироваться в зависимости от размера вашего дисплея, вы можете установить QT_SCALE_FACTORна 2 или даже больше.

Мне показалось странным, что мне пришлось явно отключить автоматическое масштабирование, так как в большинстве ответов, которые я нашел в Интернете, говорится, что вы должны включить его, чтобы исправить проблемы с масштабированием. Я предполагаю, что это стало значением по умолчанию в более новых версиях QT (?)

(Я знаю, что это не является строгим ответом на заданный вопрос, но я подумал, что это будет кому-то полезно.)

11
27.01.2020, 20:34

Если кто-то пришел сюда в поисках способа исправить крошечный текст в Anaconda Navigator, вот что в итоге сработало для меня:

На этой странице написано:

If you have multiple screens of differing DPI, you may need to do QT_SCREEN_SCALE_FACTORS="2;2"

У меня несколько экранов, поэтому я попробовал, и это сработало; ни один из рассмотренных выше методов ничего не дал в этом случае.

В Ubuntu 20.04 я создал файл конфигурации рабочего стола (ярлык ), который выглядит следующим образом:

[Desktop Entry]
Exec=env QT_SCREEN_SCALE_FACTORS="2;2" //home/dev/anaconda3/bin/anaconda-navigator
Icon=/home/dev/anaconda3/lib/python3.7/site-packages/anaconda_navigator/static/images/anaconda-icon-256x256.png
Name=Anaconda Navigator
Terminal=false
Comment=Open Anaconda Navigator
Type=Application

Это просто файл с расширением .desktop. После редактирования щелкните его правой кнопкой мыши и выберите «Разрешить запуск». Если вы затем добавите копию в ~/.local/share/applicationsи повторно войдете в систему -, она появится в меню «Приложения», так что вы также сможете запустить ее оттуда.

Я просто хотел посмотреть, что я могу сделать с Anaconda Navigator. Теперь, когда я действительно могу видеть это, я хотел бы сказать, что оно того стоило, но...

4
23.11.2020, 21:56

Для тех, кто использует MasterPDF и сталкивается с крошечными шрифтами при использовании монитора 4k, вот что я сделал, чтобы решить проблему в Linux Mint 19:

  1. В терминале :$ sudo nemo > перейдите в /usr/share/applications

  2. Откройте файл «Master PDF Editor 5» с помощью «Текстового редактора»

  3. Изменить эту строку:

    из :Exec=/opt/master -pdf -editor -5/masterpdfeditor5 %f

    - :Exec=/usr/bin/env QT _SCALE _FACTOR=2.2 /opt/master -pdf -editor -5/masterpdfeditor5 %f

  4. Сохраните и выйдите из текстового редактора и Nemo.

С этого момента всякий раз, когда вы запускаете MasterPDF, он будет отображаться так, как ожидалось. Если размер шрифта слишком велик или мал, соответствующим образом измените значение 2.2 выше.

0
10.02.2021, 22:13

Теги

Похожие вопросы