Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: После блокировки экрана пропадают настройки режима дисплея  (Прочитано 8783 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
Всем привет. Ubuntu 18.04 Gnome3. Встроенная графика Intel® HD Graphics 630 (Kaby Lake GT2). Левые дрова не ставил (искал - не нашёл). Собственно проблема такая - после блокировки экрана второй монитор (Dell) становится неактивным. Захожу в настройки - вижу его, но стоит режим дисплея - "Один дисплей". Меняю обратно на объединить дисплеи - включается, но после блокировки экрана отключения дисплея - он снова один.
Есть идеи как это поправить, или хотя-бы зафиксировать настройки?
Автоматизируй это

Оффлайн AlexBKost

  • Старожил
  • *
  • Сообщений: 3789
  • Kubuntu 12.04, 16.04, 18.04, 20.04, 22.04, 24.04
    • Просмотр профиля
Есть идеи как это поправить, или хотя-бы зафиксировать настройки?
Самый простой способ - отключить блокировку экранов. Или на Ubuntu 18.04 такая возможность отсутствует? Нет, я просто не знаю, живу на Kubuntu, а там есть.
Я странен, а не странен кто ж? (С)

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
AlexBKost, да, вот как раз нельзя отключать. Офисный компьютер, надо чтобы при бездействии отрубался экран и без пароля не пускал.

Кстати, обратил внимание что после перезагрузки компьютера - настройки сохраняются.
Автоматизируй это

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Henryh, значит надо:
1. выяснить какой командой терминала выполняется расширение на второй монитор. У Вас второй монитор через какой интерфейс? HDMI или что иное?
2. поместить эту команду в автозагрузку (попробовать через простое создание ярлыка в $HOME/.config/autostart/; если не прокатит - заморочиться с созданием сервиса для systemd; если и это не особо катит - создать соответствующее правило для udev [если не через hdmi - то получится, через hdmi на 16.04 у меня почему-то udev не особо ощущает изменения на порту hdmi]).

Пользователь добавил сообщение 09 Августа 2018, 22:22:50:
По первому пункту: выручает xrandr. Попробовал у себя на телевизоре с HDMI в качестве второго монитора (иных кабелей под руками нет - но думаю там особых проблем не должно возникать). Первым делом с подключенным внешним монитором выполняем xrandr --current | grep " connected"В выхлопе видим что-то вроде этого:
Цитировать
HDMI-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 1210mm x 680mm
eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
Выделенное жирным - это имена наших экранов, если по-человечески. Далее пробуем выполнять такие команды: #расширить текущий экран на HDMI, поместив HDMI справа от текущего экрана:
xrandr --output HDMI-0 --auto --right-of eDP-1-1
#отображать одно и то же на текущем экране и на экране HDMI:
xrandr --output HDMI-0 --auto --same-as eDP-1-1
По прочим вариантам применения рекомендую посмотреть man xrandrТам экранам можно задать разрешение, крутить их как вздумается, и тому подобное.
С этим, будем считать, разобрались. Далее надо определиться с тем, как все это запускать при старте. Тут уже поинтереснее. systemd я знаю крайне плохо, и не уверен, что есть там вариант стартовать программу при инициации сеанса после окна ввода пароля. Насчет udev, как говорил уже выше - hdmi в моем случае udev Не чувствует, - поэтому правило создать для udev нельзя (с HDMI, насколько я понял, такая котовасия с версии 16.04, - он как-то по особому теперь воспринимается; ни одной решенной темы по организации такого правила в сети мне не попадалось на данный момент времени). Ну а с ярлыком в автозапуске пользователя - он сработает только тогда, когда Вы либо после перезагрузки, либо после включения, либо после гибернации входите в сеанс в первый раз. Если просто выполнить Super+L и потом ввести пароль - инициации запуска такого ярлыка не произойдет, так что не особо это нам подходит. Словом, с командой вроде понятно. Непонятно как инициировать ее запуск.
« Последнее редактирование: 09 Августа 2018, 22:22:50 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
zg_nico, ого, огромное спасибо за развёрнутый ответ! Буду пробовать.
Мониторы подключены, первый по DVI, второй к VGA (у моника только VGA и Display Port).
xrandr показывает следующее:
$ xrandr --current | grep " connected"
HDMI-2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
DP-1 connected 900x1440+1920+0 left (normal left inverted right x axis y axis) 419mm x 262mm
Я так понимаю xrandr думает что VGA моник подключён к DP-1 (Display Port?!), а DVI к HDMI-2. Зоопарк какой-то. Попозже попробую сделать финт что вы описали, отпишусь если получится.

Кстати, отключил выключение экрана при бездействии, оставил только блокировку - вобщем в 4 случаях из 5 перестал отключаться. Магия какая-то)

Да, вот ещё. systemd запускает службы в процессе загрузки системы, а есть ли какая-то возможность запускать/перезапускать скрипты/команды/службы после восстановления/блокировки/гибернации? Создал отдельную тему по этому вопросу.
« Последнее редактирование: 10 Августа 2018, 09:28:01 от Henryh »
Автоматизируй это

Оффлайн ARTGALGANO

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1936
    • Просмотр профиля
если нужно выполнить что-то после спящего/ждущего, то создать примерно такой юнит
[Unit]
Description=Local system resume actions
After=suspend.target hybrid-sleep.target hibernate.target
 
[Service]
Type=oneshot
ExecStart=/you_command
 
[Install]
WantedBy=sleep.target
вот как-то так




 

Страница сгенерирована за 0.04 секунд. Запросов: 25.