Я хочу динамически изменять разрешение / геометрию моего сеанса VNC, не затрагивая программы, работающие внутри него.
Я упомянул: изменение разрешения сеанса VNC в Linux . У меня нет прав root для обновления новой версии vncserver, поэтому следующая команда на данный момент не работает:
vncserver -geometry 1280x1024 -randr 1280x1024,1280x800
Сейчас, когда я хочу изменить размер экрана с одного монитора на другой, я прекращаю сеанс и перезапускаю его с измененным -geometry
параметром. Из-за этого я должен потерять программы внутри него.
Есть ли способ взломать файл, который хранит геометрию и изменить значения для изменения разрешения? Я не мог найти такой файл. В моей домашней папке я вижу файлы ниже:
mgandhi@starbase:~/.vnc$ ll
total 12
-rwxr-xr-x 1 mgandhi bc 334 Jun 25 10:32 xstartup
-rw------- 1 mgandhi bc 8 Jun 25 10:32 passwd
-rw-r--r-- 1 mgandhi bc 6 Jun 25 11:08 starbase.radisys.com:23.pid
-rw-r--r-- 1 mgandhi bc 1664 Jun 25 11:08 starbase.radisys.com:23.log
Содержимое xstartup
файла не помогает:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
... здесь xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
строка остается постоянной для любого разрешения.
[Примечание: я вижу, что xrandr
установлено на машине linux.]
Задайте опцию геометрии в файле конфигурации systemd (или иным образом применимый скрипт запуска) ~ этот пример работает с Fedora 28 (при условии, что дескрипторы файлов selinux исправлены).
Замените USERNAME действительным именем пользователя:
источник
Ответ выше для Fedora не работал для меня (RedHat Enterprise), я смог выполнить то, что вам нужно, в следующих шагах:
1) войти в вашу сессию VNC (существующую)
2) откройте терминал и введите: xrandr -s 1920x1080 (или другую поддерживаемую геометрию / дисплей *)
чтобы увидеть randr поддерживаемые дисплеи / разрешения, введите:
xrandr (без аргументов)
Легко и ничего особенного!
источник
$HOME/.vnc/xstartup
это файл, который вы ищете, и да, вы можете установить геометрию там. Он должен корректироваться при переподключении, не прерывая сеанс (не уверен на 100%, но уверен).источник