Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
1

Софтверное отключение второго монитора

07.03.2019, 20:56. Просмотров 1634. Ответов 20

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

Собственно, сабж. Есть два монитора - 27" (подключен по HDMI) и 19" (подключен по Display Port). Видюха - GF1060.
Второй моник используется не постоянно, соответственно бОльшую часть времени простаивает порожняком, что напрягает. Можно, конечно, отключать его тупо с кнопки, но комп стартует именно с него (биос и grub выводятся именно на нем). Перетыкивание портов ситуацию не поменяло. Можно, наверно, в биосе что-то отшаманить, но пока не проверял. Да не суть.

А суть вопроса: есть ли какое-либо софтверное решение? Например, в винде, есть хоткей win+p, выводящий варианты использования нескольких мониторов (и включение/выключение любого из них). Есть ли в линуксе подобная фича, либо какой-то софт, с таким функционалом? Гугл внятного ответа не дал (видать, плохо гуглил)))). Включать/отключать через настройки или терминал - неудобняк.

Заранее спасибо!

PS. Linux Mint 18.2 KDE
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2019, 20:56
Ответы с готовыми решениями:

Не определяется модель второго монитора
Проблема в том, что не определяется модель второго монитора. Подключил к компу таким образом - из...

Отключение монитора
Нужен совет. Системник новый, а монитору лет наверно уже больше 10. Решил перейти с форточек на...

Подключение телевизора как второго монитора
Всем мое гутен морген ось убунту14,04 /32 видеокарта нвидиа 8400 GS Пытаюсь по hdmi подключить...

Как подключить клавиатуру и мышь для второго монитора?
Есть ноут samsung p28 и ПК. На обоих Mint 15. Хочу сделать из ноута второй монитор. Сделала сеть и...

20
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
07.03.2019, 21:06 2
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Включать/отключать через ... терминал - неудобняк.
Что-то мешает ярлыки положить с вызовом xrandr --output куда --off и --on и повесить по хоткею на них?
Ну или наскриптовать переключалку хоть на чем...
1
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
07.03.2019, 21:10  [ТС] 3
bormant, если бы я еще знал, как енто проделать...
Вчера пробовал xrandr - отключает, но обратно не включает
ЧЯДНТ?
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
07.03.2019, 21:19 4
Хм, про включение
Bash
1
xrandr --output куда --auto
не справляется?

Добавлено через 2 минуты
После отключения в выводе xrandr присутствует его видеовыход?
0
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
07.03.2019, 21:32  [ТС] 5
bormant, да, есть

Добавлено через 3 минуты
--auto прокатило, моник включился, но в режиме дублирования
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
07.03.2019, 22:54 6
Цитата Сообщение от iSmokeJC Посмотреть сообщение
но в режиме дублирования
Значит надо посмотреть на xrandr --help в части подпараметров --output по заданию расположения монитора:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
xrandr --help
...
  --output <output>
      --auto
      --mode <mode>
      --preferred
      --pos <x>x<y>
      --rate <rate> or --refresh <rate>
      --reflect normal,x,y,xy
      --rotate normal,inverted,left,right
      --left-of <output>
      --right-of <output>
      --above <output>
      --below <output>
      --same-as <output>
      --set <property> <value>
      --scale <x>x<y>
      --scale-from <w>x<h>
      --transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>
      --off
      --crtc <crtc>
      --panning <w>x<h>[+<x>+<y>[/<track:w>x<h>+<x>+<y>[/<border:l>/<t>/<r>/<b>]]]
      --gamma <r>:<g>:<b>
      --brightness <value>
      --primary
...
Добавлено через 3 минуты
И показать вывод xrandr, когда мониторы настроены, чтобы знать, что скомандовать для восстановления конфигурации.
0
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
07.03.2019, 23:16  [ТС] 7
Вот такая последовательность приводит к нужному результату
Bash
1
2
3
4
5
6
7
8
$ xrandr --output DP-0 --off
// отключился
 
$ xrandr --output DP-0 --auto
// включился в дубликате
 
$ xrandr --output DP-0 --right-of HDMI-1
// нормуль
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
07.03.2019, 23:41 8
Пара вопросов (просто интересно):
1) отдельно --right-of не включает монитор?
2) если поменять местами строки 4 и 7, поведение не сохраняется?
0
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
07.03.2019, 23:45  [ТС] 9
Цитата Сообщение от bormant Посмотреть сообщение
1) отдельно --right-of не включает монитор?
Неа
Цитата Сообщение от bormant Посмотреть сообщение
2) если поменять местами строки 4 и 7, поведение не сохраняется?
Неа
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
07.03.2019, 23:54 10
Осталось сравнить выхлоп xrandr с включенным монитором и выключенным и заскриптовать переключение состояния по типу
Bash
1
2
3
4
5
6
7
8
#!/bin/sh
 
if xrandr | grep -q что-то ; then 
    xrandr --output DP-0 --off
else
    xrandr --output DP-0 --auto
    xrandr --output DP-0 --right-of HDMI-1
fi
Положить куда-то в доступное по $PATH место и повесить его на хоткей.
0
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
07.03.2019, 23:59  [ТС] 11
Софтверное отключение второго монитора
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
08.03.2019, 00:16 12
Из терминала можно копировать выделенное мышкой. По Shift+Ctrl+C или через меню Правка-Копировать, или через контекстное меню по ПКМ, или, если настроено, вставлять выделенное по средней кнопке мыши.

Хорошо видна разница:
Код
DP-0 connected 1366 ... (normal
DP-0 connected (normal
Можно попробовать так:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
 
LC_ALL=C
export LC_ALL
 
DP0="$(xrandr | grep ^DP-0)"
if echo "$DP0" | grep -qw 'connected'; then
  if echo "$DP0" | grep -qF 'connected ('; then
    xrandr --output DP-0 --auto
    xrandr --output DP-0 --right-of HDMI-1
  else
    xrandr --output DP-0 --off
  fi  
fi
Добавлено через 3 минуты
Можно попробовать избавиться от grep и обойтись встроенным матчингом, но тут я только для bash готов что-то посмотреть, а насчет совместимости с sh, dash, fish, zsh не готов что-то сказать сходу.
1
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
08.03.2019, 00:32  [ТС] 13
bormant, скрипт работает, файл создал, в консоли все оке.
Теперь никак не могу повесить сие чудо на хоткей. В настройках нашел только выбор программ, а вручную файл указать не найду никак
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
08.03.2019, 00:40 14
Без лишних дерганий grep:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
 
LC_ALL=C
export LC_ALL
 
DP0="$(xrandr | grep ^DP-0)"
case "$DP0" in
DP-0\ connected\ [0-9]*)
    xrandr --output DP-0 --off
    ;;
DP-0\ connected\ \(*)
    xrandr --output DP-0 --auto
    xrandr --output DP-0 --right-of HDMI-1
    ;;
esac
Если выбор только из программ, то создать .desktop файл с вызовом этого сценария, его и указать для сочетания клавиш.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
08.03.2019, 00:49 15
Еще интересно, будет ли включать монитор такой вариант:
Bash
1
xrandr --output DP-0 --auto --right-of HDMI-1
0
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
08.03.2019, 00:53  [ТС] 16
Цитата Сообщение от bormant Посмотреть сообщение
будет ли
Ога!

.desctop создал. В списке программ находится только по поиску.
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
08.03.2019, 01:05 17
Лучший ответ Сообщение было отмечено iSmokeJC как решение

Решение

Цитата Сообщение от iSmokeJC Посмотреть сообщение
Ога!
Соответственно можно сократить до:
Bash
1
2
3
4
5
6
7
8
9
#!/bin/sh
 
LC_ALL=C
export LC_ALL
 
case "$(xrandr | grep ^DP-0)" in
DP-0\ connected\ [0-9]*) xrandr --output DP-0 --off ;;
DP-0\ connected\ \(*)    xrandr --output DP-0 --auto --right-of HDMI-1 ;;
esac
Добавлено через 1 минуту
Цитата Сообщение от bormant Посмотреть сообщение
.desktop
Цитата Сообщение от iSmokeJC Посмотреть сообщение
.desctop
Где опечатка?
0
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
08.03.2019, 01:08  [ТС] 18
Здесь опечатка, на форуме

Добавлено через 1 минуту
Я ее в приложениях поиском нахожу, запускаю, все ок. А ни в какие категории она не попадает ессно
0
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5312 / 3168 / 2343
Регистрация: 22.11.2013
Сообщений: 8,948
08.03.2019, 01:25 19
Цитата Сообщение от iSmokeJC Посмотреть сообщение
ни в какие категории она не попадает
https://docs.kde.org/trunk5/en/kde-workspace/kmenuedit/quickstart.html

Добавлено через 13 минут
https://www.addictivetips.com/ubuntu...-kde-plasma-5/
В конце, где про
Opening Shell Scripts
To set KDE Plasma 5 up to launch shell scripts from a keyboard shortcut, do ...
Добавлено через 1 минуту
Если на файле сценария есть атрибут исполнения, то sh ему не нужен.
1
iSmokeJC
Модератор
Эксперт Java
3964 / 2163 / 881
Регистрация: 21.10.2017
Сообщений: 6,501
08.03.2019, 01:29  [ТС] 20
Цитата Сообщение от bormant Посмотреть сообщение
Если на файле сценария есть атрибут исполнения
Есть.
ПОБЕДА!!! Все появилось и заработало после (!) ребута...

bormant, ну, маэстро, низкий поклон тебе!
0
08.03.2019, 01:29
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2019, 01:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Open Suse, После отключения второго монитора, основной не работает
У меня ноутбук. Я подключил второй монитор, сделал его основным (зачем не знаю, не знаю как, но...

Отключение монитора
При загрузке компа в тот момент,когда должен появиться экран приветствия,монитор тупо...

Отключение монитора
может кто знает команды для компа типа привод открыть монитор отключить и т.д. вот примерный код ...

Отключение монитора
Иногда при работе отключается монитор, но система зависает тоже, так как если играет музыка, то в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.