Як скинути настройки монітора до стандартних за допомогою терміналу?


32

У мене складна проблема щодо декількох моніторів на KDE (Kubuntu). У мене є ноутбук, який вдома підключений до двох моніторів - VGA та HDMI. Це працює лише тоді, коли вбудований дисплей ноутбука відключений (принаймні, мені це сказали).

Проблема полягає в тому, що тепер я забрав ноутбук і завантажив його, не маючи підключених зовнішніх моніторів. Система пам'ятає, що вбудований дисплей був відключений, тому він відключає його, хоча це єдиний підключений монітор. Очевидно, що це робить ноутбук майже непридатним. Перехід на термінал через Ctrl+ Alt+ F#працює, я можу увійти; навіть Гість працює нормально.

Питання в тому, як я можу (повторно) встановити настройки монітора облікового запису через термінали, оскільки я не можу використовувати графічний інтерфейс?

Спасибі


3
Питання, пов’язані з останньою відповіддю, xrandrщо може бути корисним.

2
Це допомогло, коли я міг використовувати консоль на другому моніторі, xrandr зміг встановити мої настройки. Однак, коли я можу використовувати лише термінал non-gui, xrandr каже, що він не може відкрити дисплей, тому це досить марно.
Мартін Мелька

Як ви відключили вбудований дисплей ноутбука?
горіх про наті

Я не знаю, чи є відповідна різниця в KDE, але в стандартному ubuntu він працює для мене чудово (із внутрішнім монітором вимкнено через графічний інтерфейс, при закритій кришці ноутбука і ноутбуку зручно сидіти на його док-станції).
горіх про natty

1
ви маєте на увазі, що я повинен встановлювати налаштування кожного разу, коли користуюся ноутбуком із зовнішніми моніторами та без них? Якщо так, то це смокче. У будь-якому разі, мені потрібно знати, як це зробити через tty
Мартін Мелька,

Відповіді:


9

Гарне питання. Трохи складно відповісти, але ось спробу.

Основна відповідь

Насправді є невелика можливість скидання, включена в X11 . Ви можете знайти його за адресою /etc/X11/Xreset. Ви можете використовувати каталог Xreset ( Xreset.d), щоб вставити сценарій, який запускається автоматично, коли користувач виходить із системи. Файл README:

# Scripts in this directory are executed as root when a user log out from
# a display manager using /etc/X11/Xreset.
# The username of the user logging out is provided in the $USER environment
# variable.

Таким чином, ви можете: а) додати скрипт скидання в /etc/X11/Xreset.dі б) зробити скрипт, приєднаний до запуску, який встановлює подвійні зовнішні дисплеї. Як такий, ви виходите з системи, і все повернеться до норми, ви увійдете на свій ноутбук, натисніть на пускову панель для дисплеїв і насолоджуйтесь життям.

Більше інформації

  1. Ви можете розглянути питання sudo dpkg-reconfigure -phigh xserver-xorgпро скидання xserver або (можливо, краще подивіться на відповідь, яку Мік запропонував у коментарях).

  2. Хлопець SuSE написав приємну статтю про X.

  3. У вирішеному бугрепорті хтось заявляє:

    Адміністратори можуть скидати скрипти в /etc/X11/Xreset.d/, щоб запуститись після того, як користувач вийде з системи.

  4. Це вміст файлу:

Ви можете знайти його у власній системі.

#!/bin/sh
#
# /etc/X11/Xreset
#
# global Xreset file -- for use by display managers

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xreset
SYSSESSIONDIR=/etc/X11/Xreset.d

if [ ! -d "$SYSSESSIONDIR" ]; then
  # Nothing to do, exiting
  exit 0
fi

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi 

exit 0

# vim:set ai et sts=2 sw=2 tw=80:

Цікаво. Сценарій скидання нічого не робить. Я провів його через tty, перезапустив комп'ютер, але все було те саме. Те саме, що вставити його в папку: | Я також спробував вставити команди xrandr всередину, але безрезультатно
Martin Melka

Сценарій скидання виконує те, що знаходиться в каталозі Xreset.d.
don.joey

1
Правильно. Спочатку це не працювало для мене, тому що я забув додати виконавчий дозвіл до сценарію. Зараз це працює як шарм. Дякую. Однак одне невелике зауваження. Якщо я перекладу ноутбук у режим сну та відключую монітори під час цього, я не виходив із системи, тому екран не буде скинутий. Чи є спосіб вийти на сайт через tty? Я спробував увійти як той самий користувач, який використовує X, але logoffлише вийшов із системи tty, а не з X.
Martin Melka

Привіт, Мартіне. Я щасливий, що ти змусив це працювати! Ви пробували щось подібне gnome-session-quit? Джерело: askubuntu.com/questions/15795/…
don.joey

17

Щоразу, коли я кладу свій ноутбук Lubuntu спати, коли він виводиться виключно на телевізорі, і прокидаю його після відключення, я закінчую чорний екран, оскільки призначена неправильна роздільна здатність. Настільки ж проблема, як і ви, мені потрібно встановити дозвіл від віртуального терміналу TTY1, якого я можу досягти за допомогою Ctrl-alt-F1, але xrandr, здається, не працює. Я переглянув сторінки результатів пошуку Google, перш ніж знайти рішення, тому подумав, що поділюсь.

Ключовим є те, що xrandr, мабуть, працює лише на орієнтованому на даний момент дисплеї. Тож вам доведеться зав'язати команду сну перед командою xrandr, щоб дати вам час перейти на сервер X за допомогою Ctlr-alt-F7, щоб команда виконувалася там. Інакше ви отримаєте помилку на кшталт xrandr: Configure crtc 0 failed.

  1. Відкрийте віртуальний термінал за допомогою Ctrl-alt-F1 та увійдіть у систему

Щоб отримати імена підключених екранів (і припустимо, що ваш X-сервер працює на :0):

  1. $xrandr -d :0

Для зміни налаштувань дисплея:

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

Замініть LVDS1 на виході, який ви хочете змінити, та --auto за будь-якими параметрами xrandr, які ви хочете використовувати.

  1. Перейдіть на X-сервер за допомогою Ctrl-alt-F7 до затримки вимкнення, встановленої в команді вище.

Є НАЙКРАЩИЙ спосіб зробити це. Але це працює.

Оригінальне джерело рішення: http://www.lgqyc.com/server-14-04-3-lts-display-orientation/

Ознайомтесь з цим коментарем щодо можливого вдосконалення мого рішення (не перевірявся сам).


Це була єдина відповідь, яка працювала на мене. Божевільний збіг обставин, 3-річна тема мала єдину робочу відповідь, подану 11 годин тому :). РЕДАКТУЙ: о, оснащення, РОЗДІЛ 3 роки тому. Дивно ...
Адам Плочер

Ого. Це спонукає мене горіхів віками. Ваша відповідь здається смішною (сон? Справді?), Але це працює, тож дякую!
Тайлер

6
Виявляється, є трохи кращий спосіб зробити це: chvt 7; xrandr --output LVDS1 --auto -d :0. chvt 7 переходить на VT7 для вас, тому вам не потрібно спати / Ctrl-Alt-F7. Може знадобитися sleep 5між chvtі xrandrдзвінками, але навіть тоді це зберігає вручну натискання клавіш.
Тайлер

Одним із варіантів було б створити .xsessionrcвиконуваний файл у вашому домашньому каталозі, включаючи команду xrandr --autoдля примусового автоматичного повторного налаштування всіх дисплеїв кожного разу при вході в систему.
Mikko Rantalainen

16

Команда xrandr -s 0повинна скинути відображення у терміналі. Більше можна знайти на наступному сайті або man xrandrу терміналі.

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


Ласкаво просимо до Ask Ubuntu! Хоча це відповідає на питання, було б краще включити сюди суттєві частини відповіді та надати посилання для довідки.
Гунтберт

4
Так, це працює. Інші відповіді просто надто роздуті, складні або неефективні. Також може бути корисно зауважити, що якщо у вас з’являється чорний екран (і ви нічого не можете бачити), ви можете відкрити свій термінал за допомогою клавіш швидкого доступу і сліпо ввести "xrandr -s 0". Ось що я зробив :)
kodeart

Зауважте, що в налаштуваннях двох моніторів ця команда може деактивувати другий монітор, а не встановлювати обидва монітора на їх роздільну здатність за замовчуванням.
Дарієн

У моїй системі команда відключає обидва зовнішні монітори, але також скидає їх конфігурацію за замовчуванням - це фіксує виявлення VGA DCC, яке час від часу порушується. Після цього мені просто потрібно знову включити екрани та змінити їх розташування за допомогою інструмента "Дисплеї". Це не ідеально, але він дуже працездатний і кращий, ніж моє попереднє рішення, яке було призупинити та розбудити комп'ютер кілька разів, поки він не скине порт VGA.
Гасс

4

Ви пробували (що, начебто)

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

з іншого tty(наприклад, tty1),

через який ви можете отримати доступ Ctrl Alt F1і перейти назад до (стандартної графічної) tty7 Ctrl Alt F7?


1
Це дає мені xrandr: Configure crtc 1 failedпід час спроби - вихід HDMI1 - off. --auto нічого не каже, поки я вручну не вимкну його. Потім --авто кидає ту саму помилку
Мартін Мелька

потрібно було б більш ретельно дослідити; Упевнений, він буде працювати, в кінці кінців ...
горіховий про ошатною

2

Я ще не згадав одне, але що може бути критично важливим: якщо ви використовували ноутбук Thinkpad , рішення було б зрозумілим: Fn+ F7. Якщо ви використовуєте ноутбук іншого виробника, то, з великою ймовірністю, буде якась інша клавіша типу Fn, яка буде перемикатися через виходи дисплея / екрана (наприклад, промінь, зовнішній монітор, внутрішній дисплей; дзеркало, вмикання / вимкнення, тощо) вниз на рівні BIOS (я б припустив - Редагувати : Див. як працюють клавіші Fn? для отримання детальної інформації про це ).

Тож не потрібно було би нічого скидати в межах Linux, так би мовити.


1
У мене є IdeaPad, але клавіші Fn + не працюють (єдиний, що робить це - сон)
Martin Melka

Моя думка: продовжуйте це! У мене немає часу , щоб ретельно досліджувати себе в даний час , хоча і є хороший шанс , що я міг би зробити деякі оптимізації в цій області на моєму IBM Thinkpad X41, але -для , що це worth- більшість клавіш Fn зробити роботу на моїй системі (як на мій ноутбук, а також на моїй зовнішній клавіатурі sk-8855 "thinkvantage"): у програмному центрі ubuntu (або синаптичному) на перший поверхневий погляд принаймні ця річ встановлена tp-smapi-dkms 0.41-1 . Тож ви можете спробувати встановити його, вивчивши його та / або подібні альтернативи, завдяки чому ваші клавіші Fn нарешті оживуть!
горіх про natty

також перевірити tpctl.sourceforge.net
про natty

Важко повірити, але це було це. Дисплеї перемикачів - Fn+ F8на Dell Latitude. Після вилучення з док-станції іноді не вмикався вбудований дисплей. (Я використовую лише зовнішній VGA-дисплей із док-станцією.) Спроба переключити дисплей здавалася нісенітницею, але він увімкнув вбудований дисплей.
Фердинанд Прантл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.