commands like su ?
# Запустить xrandr, получить его вывод и сохранить его в переменной
xrandr_output=$(xrandr)
# Поиск строк, содержащих информацию о подключенных мониторах
if [[ $xrandr_output == *'DP-1-1 connected'* && $xrandr_output == *'DP-1-2 connected'* ]]; then
# Оба монитора подключены
xrandr --output eDP-1 --off --output DP-1-1 --auto --primary --output DP-1-2 --auto --right-of DP-1-1
else
# Только ноутбук
xrandr --output eDP-1 --auto
fi
так ты autorandr смотрел то?
Как скрипт запускаешь? В его среде есть DISPLAY?
Я думал, про такой скрипт, что скажешь? # Запустить xrandr, получить его вывод и сохранить его в переменной xrandr_output=$(xrandr) # Поиск строк, содержащих информацию о подключенных мониторах if [[ $xrandr_output == *'DP-1-1 connected'* && $xrandr_output == *'DP-1-2 connected'* ]]; then # Оба монитора подключены xrandr --output eDP-1 --off --output DP-1-1 --auto --primary --output DP-1-2 --auto --right-of DP-1-1 else # Только ноутбук xrandr --output eDP-1 --auto fi
Посмотри на DISPLAY у тебя скорее всего xrandr просто не понимает где менять
Что ззначит на Display ?
Х сервер писали, когда одного пк было много одновременных пользователей и много одновременных графических сессий. Потому у тебя есть переменная среды DISPLAY, которая ссылается на текущую графическую сессию. Если запускать xrandr например из крона, udev или еще откуда, но не из графической среды, то он не поймет где менять параметры дисплеев
Обсуждают сегодня