Linux'ta randr olmadan bir vncserver'ın ekran çözünürlüğünü / geometrisini değiştirme


9

VNC oturumumun çözünürlüğünü / geometrisini, içinde çalışan programları etkilemeden dinamik olarak değiştirmek istiyorum.

Şunu söyledim: Linux'taki VNC oturumunun çözünürlüğünü değiştirme . Daha yeni vncserver sürümünü güncellemek için root iznim yok, bu nedenle şu komut şu anda çalışmıyor:

vncserver -geometry 1280x1024 -randr 1280x1024,1280x800

Şimdilik, ekran boyutunu bir monitörden diğerine değiştirmek istediğimde oturumu öldürüyorum ve değiştirilmiş -geometryseçenekle yeniden başlatıyorum. Bu nedenle içindeki programları kaybetmem gerekiyor.

Geometriyi saklayan dosyayı kesmek ve çözünürlüğü değiştirmek için değerleri değiştirmek için herhangi bir yol var mı? Böyle bir dosya bulamadım. Giriş klasörümde aşağıdaki dosyaları görüyorum:

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

xstartupDosyanın içeriği yardımcı olmuyor:

#!/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 &

... burada xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &hat herhangi bir çözünürlük için sabit kalır.

[Not: Bunun xrandrlinux makinesine yüklendiğini görüyorum .]

Yanıtlar:


4

Bir "Hack" çözümü: belirtilen geometri olmadan vncserver'ı başlatın

vncserver :1

Sonra vnc'ye bağlanacağım ve Fedora'da, Ayarlar> Ekranlar> Bilinmeyen 0 "a gideceğim ve çözünürlüğü bu şekilde değiştireceğim. (DX) yazmak yerine biraz tıklama alın, ancak kolay.


1
Bu seçenek sonucu "xrandr sürümünü belirleyemiyor" ve başka bir şey yok: - / (Debian 8) ama ilginç görünüyor.
m3nda

1

Systemd yapılandırma dosyasında (veya başka bir şekilde uygulanabilir başlangıç ​​komut dosyasında) geometri seçeneğini belirleyin ~ bu örnek Fedora 28 ile çalışır (selinux dosya tanımlayıcılarının sabit olduğu varsayılarak).

USERNAME yerine gerçek kullanıcı adını yazın:

cat /etc/systemd/system/vncserver@\:1.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=USERNAME

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/USERNAME/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

1

Fedora için yukarıdaki cevap benim için işe yaramadı (RedHat Enterprise), bu adımlarda ihtiyacınız olanı başarabildim:

1) VNC oturumunuza giriş yapın (mevcut)

2) bir terminal açın ve şunu yazın: xrandr -s 1920x1080 (veya desteklenen başka bir geometri / ekran *)

randr destekli ekranları / çözünürlükleri görmek için şunu yazın:

xrandr (bağımsız değişken olmadan)

Kolay ve hiçbir şey fantezi!


0

$HOME/.vnc/xstartuparadığınız dosyadır ve evet, geometriyi orada ayarlayabilirsiniz. Oturumunuzu canlandırmadan yeniden bağlanmayı ayarlamalıdır (% 100 emin değilim ama oldukça emin).


2
Göstermek, anlatmaktan daha yararlı olacaktır.
scottlittle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.