Linuxでrandrを使用せずにvncserverの画面解像度/ジオメトリを変更する


9

VNCセッションの内部で実行されているプログラムに影響を与えずに、VNCセッションの解像度/ジオメトリを動的に変更したい

私は言及しました:LinuxでのVNCセッションの解像度の変更。新しいvncserverバージョンを更新するroot権限がないので、次のコマンドは現時点では機能しません。

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" &線はどの解像度でも一定のままです。

[注:xrandrLinuxマシンにインストールされていることがわかります。]

回答:


4

「ハック」ソリューション:ジオメトリを指定せずにvncserverを起動します

vncserver :1

次に、vncに接続し、Fedoraで、[設定]> [ディスプレイ]> [不明0]に移動し、このようにその場で解像度を変更します。(DX)を入力するのではなく、クリックするだけですが、簡単です。


1
このオプションを使用すると、「xrandrのバージョンを判別できません」という結果になり、それだけではありません:-/(Debian 8)。
m3nda 2017年

1

systemd設定ファイル(またはその他の適切な起動スクリプト)でジオメトリオプションを設定します〜この例はFedora 28で動作します(selinuxファイル記述子が修正されていると仮定)。

USERNAMEを実際のユーザー名に置き換えます。

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の答えは私(RedHat Enterprise)ではうまくいきませんでした。私はこれらの手順で必要なことを達成することができました。

1)VNCセッションにログインします(既存)

2)端末を開いて次のように入力します:xrandr -s 1920x1080(またはサポートされている別のジオメトリ/ディスプレイ*)

randrでサポートされているディスプレイ/解像度を確認するには、次のように入力します。

xrandr(引数なし)

簡単で、派手なものは何もありません。


0

$HOME/.vnc/xstartupあなたが探しているファイルであり、はい、そこにジオメトリを設定できます。セッションを中断することなく再接続時に調整する必要があります(100%確実ではありませんが、かなり確実です)。


1
伝えるよりも示す方が役立つでしょう。
scottlittle、2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.