Это должно сработать:
xrandr --listactivemonitors | grep
Пояснение:
xrandr --listactivemonitors
печатает только те мониторы, которые в данный момент включены. grep >/dev/null
Поиск в предыдущем выводе имени монитора, который мы хотим переключить. Если он найден, grep вернет код выхода, который интерпретируется оболочкой как истинный. Если он не найден, он вернет код выхода, который интерпретируется оболочкой как false. Вывод отправляется в /dev/null, чтобы не загромождать экран. && xrandr --output --off
Если grep найдет монитор в списке активных мониторов, то он запустится, отключив монитор. Но если grep завершился с ложным кодом выхода, то это не будет выполнено, потому что независимо от того, что он оценивает, логическое предложение and в целом уже известно как ложное. || xrandr --output --right-of --mode 1920x1080
Если grep не находит его, то выполняется этот пункт, включая монитор. Он выполняется, поскольку предыдущее предложение(grep... && xrandr...
)оценивается как ложное. Чтобы узнать, верно ли это логическое или предложение, оболочка должна оценить правую часть. С другой стороны, если левая сторона -уже оценена как истина, тогда нет необходимости оценивать правую сторону -, поэтому это не будет выполнено. Вот краткое описание потока управления, опосредованного логическими условиями.
В этом корень проблемы:
# apt-cache policy libdrm2
libdrm2:
Installed: 2.4.95-1~bpo9+1
Candidate: 2.4.95-1~bpo9+1
Version table:
*** 2.4.95-1~bpo9+1 100
100 /var/lib/dpkg/status
2.4.74-1 500
500 http://deb.debian.org/debian stretch/main amd64 Packages
Это указывает на то, что в какой-то момент вы установили libdrm2
из бэкпортов Stretch, а также что бэкпорты больше не настроены в ваших репозиториях.
Когда ты бежал
apt-get install libdrm2=2.4.74-1
вы попросили apt-get
понизить версию libdrm2
. В этом сценарии apt-get
не понижает связанные пакеты сам по себе; он проверяет результирующие зависимости и удаляет все пакеты, чьи зависимости больше не удовлетворяются. В этом случае другие пакеты, которые вы установили из бэкпортов и которые имели зависимость от libdrm2
новее 2.4.74, будут удалены:libegl1
и т. д. Пакеты, зависящие от них, также будут удалены; это включает xserver-xorg-core
. Процесс продолжается до тех пор, пока не останется ни одного пакета с неудовлетворенными зависимостями...
Вы не сломали свою систему; для этого требуются дополнительные подтверждения. Ваш apt-get install
не сделал ничего особенно полезного, потому что вы дали ему список пакетов, которые теперь являются кандидатами на автоматическое удаление; эти пакеты все еще установлены. Чтобы отменить удаление, вы должны установить пакеты, которые были удалены:
The following packages will be REMOVED:
audacious audacious-plugins compton-conf libaudqt0 libegl-mesa0 libegl1
libegl1-mesa libgbm1 libqgsttools-p1 libqt5gui5 libqt5multimedia5
libqt5multimedia5-plugins libqt5multimediawidgets5 libqt5opengl5
libqt5printsupport5 libqt5svg5 libqt5widgets5 libqt5x11extras5
libwayland-egl1-mesa qt5-gtk-platformtheme virtualbox-5.2 wireshark
wireshark-qt xorg xserver-xorg xserver-xorg-core xserver-xorg-input-all
xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-video-all
xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev
xserver-xorg-video-intel xserver-xorg-video-nouveau xserver-xorg-video-qxl
xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware