Как сбросить настройки монитора по умолчанию через терминал?

Что-то вроде:

#!/bin/sh

DATE=$(date +%Y-%m)

if grep "$DATE" file >/dev/null; then
    echo yes
else
    echo no
fi

, где file - имя вашего файла, должно работать. Он в основном использует grep для поиска значения $DATE в файле и ветвей в зависимости от того, было ли это обнаружено или нет (коды выхода grep указывают на это, см. [F6] «СОСТОЯНИЕ ВЫХОДА» для получения дополнительной информации ). Вы можете использовать if grep …; then exit 0; fi для выхода из скрипта, если текст найден, чтобы получить нужное поведение.

1
задан 25 February 2013 в 22:00

4 ответа

Всякий раз, когда я переношу свой ноутбук Lubuntu в режим сна, когда он отображается исключительно на моем телевизоре, и разбудил его после его отсоединения, я получаю черный экран, потому что назначено неправильное разрешение. Так же, как и вы, мне нужно установить разрешение с виртуального терминала TTY1, с которым я могу связаться с помощью Ctrl-Alt-F1, но xrandr, похоже, не работает. Я просмотрел страницы результатов поиска Google, прежде чем приступать к решению, поэтому решил, что буду делиться.

Главное, что xrandr, по-видимому, работает только на текущем экране. Таким образом, вам нужно связать команду сна перед командой xrandr, чтобы дать вам время, чтобы вернуться на X-сервер с Ctlr-alt-F7, чтобы команда была выполнена там. В противном случае вы получите ошибку, например xrandr: Configure crtc 0 failed.

Откройте виртуальный терминал с помощью Ctrl-Alt-F1 и войдите в

Чтобы получить имена подключенных экранов (и если ваш X-сервер работающий на :0):

Откройте виртуальный терминал с помощью Ctrl-Alt-F1 и войдите в систему

Чтобы изменить настройки дисплея:

$sleep 5; xrandr --output LVDS1 --auto -d :0

Заменить LVDS1 на результат, который вы хотите изменить, и --auto любыми параметрами xrandr, которые вы хотите использовать.

$sleep 5; xrandr --output LVDS1 --auto -d :0 [!d9 ]

Там должен быть лучший способ сделать это. Но это работает.

Исходный источник для решения: http://www.lgqyc.com/server-14-04-3-lts-display-orientation/

[d15 ] http://www.lgqyc.com/server-14-04-3-lts-display-orientation/ для возможного улучшения моего решения (не проверял себя).

16
ответ дан 25 May 2018 в 01:04
  • 1
    Это был единственный ответ, который работал на меня. Сумасшедшее совпадение, тема 3 года имела единственный рабочий ответ, представленный 11 часов назад :). EDIT: oh snap, ТОЧНО 3 года назад. Weird ... – Adam Plocher 25 February 2016 в 16:41
  • 2
    Вау. Это вечно меня мучило. Ваш ответ кажется смешным (спать? Действительно?), Но он работает, так что спасибо! – Tyler 18 March 2016 в 02:54
  • 3
    Оказывается, есть несколько лучший способ сделать это: chvt 7; xrandr --output LVDS1 --auto -d :0. chvt 7 переключается на VT7 для вас, поэтому вам не нужно спать / Ctrl-Alt-F7. Может потребоваться sleep 5 между вызовами chvt и xrandr, но даже тогда он сохраняет ручные нажатия клавиш. – Tyler 18 March 2016 в 05:13
  • 4
    Один из вариантов - создать исполняемый файл .xsessionrc в вашем домашнем каталоге и включить команду xrandr --auto для принудительной автоматической настройки всех дисплеев при каждом входе в систему. – Mikko Rantalainen 20 February 2018 в 13:16

Команда xrandr -s 0 должна сбросить ваши дисплеи в терминале. Подробнее можно найти на следующем сайте или из man xrandr в терминале.

https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/ [ ! d1]

13
ответ дан 25 May 2018 в 01:04
  • 1
    Добро пожаловать в Ask Ubuntu! Хотя это отвечает на вопрос , было бы предпочтительнее включить здесь основные части ответа и предоставить ссылку для справки. – guntbert 7 December 2014 в 00:25
  • 2
    Да, это работает. Другие ответы слишком раздуты, сложны или неэффективны. Также может быть полезно заметить, что если вы видите черный экран (и ничего не видите), вы можете открыть свой терминал с помощью сочетаний клавиш и вслепую напечатать «xrandr -s 0». Вот что я сделал :) – kodeart 19 January 2015 в 16:31
  • 3
    Обратите внимание, что в настройках с двумя мониторами эта команда может деактивировать второй монитор, а не устанавливать оба монитора на разрешение по умолчанию. – Darien 23 March 2017 в 04:01
  • 4
    В моей системе команда отключает оба внешних монитора, но также сбрасывает их конфигурацию по умолчанию - что фиксирует обнаружение DCC VGA, которое время от времени ломается. После чего мне просто нужно снова включить экраны и переместить их с помощью инструмента «Дисплеи». Он не идеален, но он очень работоспособен и лучше, чем мое предыдущее решение, которое должно было приостановить и разбудить компьютер несколько раз, пока он не сбрасывает порт VGA. – Guss 30 April 2017 в 17:01

вы пробовали (sth like)

DISPLAY=:0 xrandr --output LVDS1 --auto

из другого tty (например, tty1),

, к которому вы можете получить доступ через Ctrl Alt F1, и переключиться обратно на (стандартный графический) tty7 с Ctrl Alt F7?

3
ответ дан 25 May 2018 в 01:04
  • 1
    Это дает мне xrandr: Configure crtc 1 failed при попытке - выход HDMI1 - off. --auto ничего не говорит, пока я не отключу его вручную. Затем --авто выбрасывает ту же ошибку – Martin Melka 3 March 2013 в 23:00
  • 2
    необходимо будет более внимательно исследовать; я уверен, что будет работать , в конце концов ... – nutty about natty 3 March 2013 в 23:43

Одна вещь, о которой я еще не упоминал, но что может быть критическим: если бы вы использовали ноутбук Thinkpad, решение было бы простым: Fn + F7. Если вы используете ноутбук другого производителя, вероятно, будет какой-то другой ключ типа Fn, который будет переключаться через выходы дисплея / экрана (например, лучеры, внешний монитор, внутренний дисплей, зеркало, включение / выключение, и т. п.) вниз на уровне BIOS (я бы предположил - Edit: см. Как работают клавиши Fn?).

Таким образом, не нужно было ничего перезагружать в Linux , так сказать.

2
ответ дан 25 May 2018 в 01:04
  • 1
    У меня есть IdeaPad, но клавиши Fn + не работают (единственное, что делает Sleep) – Martin Melka 3 March 2013 в 22:52
  • 2
    Мое догадаться: продолжай с этим! У меня нет времени тщательно исследовать себя в настоящее время, хотя есть хорошие шансы, что я мог бы сделать некоторую оптимизацию в этой области на моем IBM Thinkpad X41, но для того, что стоит, большинство клавиш Fn выполняют работу в моей системе (как на моем ноутбуке, так и на моей внешней клавиатуре «88» и «thinkvantage»): в программном центре ubuntu (или синаптической) с первого поверхностного взгляда по крайней мере эта вещь tp-smapi-dkms 0,41-1 . Поэтому вы можете попытаться установить его, изучить его и / или аналогичные альтернативы, которые заставят ваши клавиши Fn, наконец, ожить! – nutty about natty 3 March 2013 в 23:41
  • 3
    также проверьте tpctl.sourceforge.net – nutty about natty 3 March 2013 в 23:48
  • 4
    Трудно поверить, но это все. Дисплеи коммутатора - Fn + F8 в Dell Latitude. После снятия с док-станции он иногда не включал встроенный дисплей. (Я использую только внешний VGA-дисплей с док-станцией.) Попытка переключить дисплей показалась бессмысленной, но она включила встроенный дисплей. – Ferdinand Prantl 22 October 2015 в 10:07

Другие вопросы по тегам:

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