Я хотел бы установить свой монитор HDMI как уникальный вывод моего ноутбука, когда монитор подключен. Теперь я изменяю его вручную каждый раз, я включаю свой ноутбук с моим подключенным монитором, но я хотел бы сделать это автоматически.
Я считал, что можно изменить разрешения и мониторы с помощью xrandr, но я не смог сделать это. С этим я смог бы записать команду в bashrc файле, чтобы проверить, подключен ли монитор и если да, измените вывод. Какие-либо предложения о том, как сделать это?
Лучший wat, который я нашел, чтобы сделать это, это использует arandr инструмент.. Эквивалентная команда была бы: xrandr - производят HDMI-1-3 - прочь - производит HDMI-1-2 - основной - режим 2560x1080 - на месте продажи 1920x0 - вращается нормальный - производит HDMI-1-1 - прочь - производит eDP-1-1 - режим 1920x1080 - pos 0x0 - вращается нормальный - производит DP-1-2 - прочь - производит DP-1-1 - прочь
Я создал сценарий Screens.sh
в $HOME
это deactives первый монитор (ноутбук), если существует другой
#!/bin/bash
xrandr --prop | grep "[^dis]connected" | cut --delimiter=" " -f1> currentNumberOfScreens.txt
echo "Number of active screens:" $(< currentNumberOfScreens.txt wc -l)
if [ $(< currentNumberOfScreens.txt wc -l) -gt 1 ]; then
echo "As you have more than one screen active"
echo "I will disable the laptop one, that is my job"
xrandr --output $(cat currentNumberOfScreens.txt | awk 'NR==2') --primary
xrandr --auto && xrandr --output $(cat currentNumberOfScreens.txt | awk 'NR==1') --off
else
echo "Nothing to do"
fi
После этого я создал a screen.desktop
файл:
[Desktop Entry]
Version=1.0
Exec=$HOME/Screens.sh
Name=Screen turn off
GenericName=Screen script
Comment=Turn off if more than 1 screen
Encoding=UTF-8
Terminal=true
Type=Application
Categories=Script;
И перемещенный это в папку: $HOME/.config/autostart
Ноутбук перезапуска.Примечание: если Вы пишете, что в .bashrc, поскольку предположили, что это назовут каждый раз, когда Вы открываете терминал.