Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
1

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

07.03.2019, 20:56. Показов 4264. Ответов 20

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

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

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

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

PS. Linux Mint 18.2 KDE
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2019, 20:56
Ответы с готовыми решениями:

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

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

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

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

20
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
07.03.2019, 21:06 2
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Включать/отключать через ... терминал - неудобняк.
Что-то мешает ярлыки положить с вызовом xrandr --output куда --off и --on и повесить по хоткею на них?
Ну или наскриптовать переключалку хоть на чем...
1
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
07.03.2019, 21:10  [ТС] 3
bormant, если бы я еще знал, как енто проделать...
Вчера пробовал xrandr - отключает, но обратно не включает
ЧЯДНТ?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
07.03.2019, 21:19 4
Хм, про включение
Bash
1
xrandr --output куда --auto
не справляется?

Добавлено через 2 минуты
После отключения в выводе xrandr присутствует его видеовыход?
0
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
07.03.2019, 21:32  [ТС] 5
bormant, да, есть

Добавлено через 3 минуты
--auto прокатило, моник включился, но в режиме дублирования
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
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
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
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
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
07.03.2019, 23:41 8
Пара вопросов (просто интересно):
1) отдельно --right-of не включает монитор?
2) если поменять местами строки 4 и 7, поведение не сохраняется?
0
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
07.03.2019, 23:45  [ТС] 9
Цитата Сообщение от bormant Посмотреть сообщение
1) отдельно --right-of не включает монитор?
Неа
Цитата Сообщение от bormant Посмотреть сообщение
2) если поменять местами строки 4 и 7, поведение не сохраняется?
Неа
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
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
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
07.03.2019, 23:59  [ТС] 11
Софтверное отключение второго монитора
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
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
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
08.03.2019, 00:32  [ТС] 13
bormant, скрипт работает, файл создал, в консоли все оке.
Теперь никак не могу повесить сие чудо на хоткей. В настройках нашел только выбор программ, а вручную файл указать не найду никак
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
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
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
08.03.2019, 00:49 15
Еще интересно, будет ли включать монитор такой вариант:
Bash
1
xrandr --output DP-0 --auto --right-of HDMI-1
0
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
08.03.2019, 00:53  [ТС] 16
Цитата Сообщение от bormant Посмотреть сообщение
будет ли
Ога!

.desctop создал. В списке программ находится только по поиску.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
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
Эксперт PythonЭксперт Java
19510 / 11050 / 2931
Регистрация: 21.10.2017
Сообщений: 23,300
08.03.2019, 01:08  [ТС] 18
Здесь опечатка, на форуме

Добавлено через 1 минуту
Я ее в приложениях поиском нахожу, запускаю, все ок. А ни в какие категории она не попадает ессно
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7797 / 4620 / 2831
Регистрация: 22.11.2013
Сообщений: 13,122
Записей в блоге: 1
08.03.2019, 01:25 19
Цитата Сообщение от iSmokeJC Посмотреть сообщение
ни в какие категории она не попадает
https://docs.kde.org/trunk5/en... start.html

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

bormant, ну, маэстро, низкий поклон тебе!
0
08.03.2019, 01:29
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2019, 01:29
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru