私はこの問題について多くの研究を行い、修正を試みましたが、ほとんどxstartupファイルを調整することに関連していました。 Windows 7システムで代替VNCクライアント(UltraVNCとTightVNC)を試みましたが、各クライアントで同じ結果が出ました。
デフォルトでは、矢印カーソルのみがある空の灰色の画面が表示されたり、まったく接続できません。
私は別のVNCサーバー(VNC4server)を試してみましたが、接続は行われますが、毎回クライアントウィンドウでエラーが発生して放棄しました。そしてTightvncは、ユーザーによってより広く使用されサポートされているようです。
~/.vnc/xstartup ファイルに何を入れたとしても(たとえば、単一行(startkde &)であっても、VNC ユーザーとして "root" を指定すると機能することがわかりましたが、 root としてログインするには root非ユーザーとしてログインする標準 *nix 慣行に従う必要があるため、問題は権限に関連しているようですが、各編集後に正しい所有権と実行可能フラグを確認しました。
ホストですでに実行されているデスクトップセッションがある場合(ユーザーがログインしている場合)、最新のTightvncサーバーでKDEデスクトップの起動が許可されていないことを読んだので、ログインしていないホストを起動しました。 Tightvncサーバーをサービスとして構成しました。
私の現在のxstartupファイルは次のとおりです。しかし、先に述べたように、インターネットで収集した提案のほとんどすべてをコメントアウトしながら、これらの行のさまざまなバリエーションを試しました。
#!/bin/sh
#一般的なデスクトップの場合、次の2行のコメントを削除します。unset
SESSION_MANAGER
exec /etc/X11/xinit/xinitrc&
#unset DBUS_SESSION_BUS_ADDRESS[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# x-window-manager &
exec startkde &
これはサービスファイル/lib/systemd/system/tightvncserver.serviceです。
[単位]
説明=TightVNC リモート デスクトップ サーバーAfter
=sshd.service[サービス]
タイプ=dbus
ExecStart=/usr/bin/vncserver -geometry 1024x768 -深さ 24:1
ユーザー=vnc
タイプ=ポーキング[インストール]
WantedBy=multi-user.target
ホストが一度再起動し、一度接続しようとした後のログは次のとおりです。
2016年3月14日
01:37:46 Copyright (C) 1999 AT&T Laboratories Cambridge
14/03/16 01:37:46 無断複写・転載を禁じます。
2016年3月14日 01:37:46 ビューhttp://www.tightvnc.com/TightVNC 関連情報
14/03/16 01:37:46 デスクトップ名 "X" (テスト: 1)
14/03/16 01:37:46 サポートされるプロトコルバージョン: 3.3, 3.7, 3.8, 3.7t, 3.8t
14 / 03/16 01:37:46 TCP ポート 5901 でリッスン中
/home/vnc/.vnc/xstartup: 12: /home/vnc/.vnc/xstartup: vncconfig: x-terminal-emulator が見つかりません
: VNC接続オプションで不明「エル」。
x-terminal-emulator: --help を使用して、使用可能なコマンドラインオプションのリストを取得します。
エラー: '/tmp/ksocket-vncw1nXNU' ディレクトリを作成できません。ファイルがあります。
startkde:起動中…
kdeinit4: 中断中です。バインディング()失敗:アドレスはすでに使用中です。
'/tmp/ksocket-vncGcyXe4/kdeinit4__1' ソケットにバインドできません。14/03/16 01:38:09 クライアントからの接続の取得 192.168.10.10 14/03/16
01:38:09 プロトコルバージョン 3.8
の使用
/ 03/16 01:38:14 クライアントの
ピクセル
形式255 g 255 b 255, Shift r 16 g 8 b 0 14/03/16 01:38:14 翻訳
不要
14/03/16 01:38:14 クライアントに 16 進符号化を使用
16 01:38:14 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 19
14/03/16 01:38:14 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 18
14/03/16 01:38:14 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 17
14/03/16 01 : 38:14 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 16
14/03/16 01:38:14 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 10
14/03/16 01:38:14 rfbProcessClientNormalMessage: 알 수エンコーディングを無視する 9
14/03/16 01:38 : 14 rfbProcessClientNormalMessage: 不明なエンコーディングを無視 8 14/03/16 01:38:14 クライアントに圧縮レベル 6 を使用 192.168.10.10 14/03/1 14
クライアントでフルカラーを有効にする 192.168.10.10 14/03 カーソル
更新
/ 16 01:38:14 クライアント 192.168.10.10 のカーソル位置更新を有効にする
14/03/16 01:38:14 クライアント 192.168.10有効化
14/03/16 01:38:14 rfbProcessClientNormalMessage: 不明なエンコードを無視 - 65530
14/03/16 01:38:14 クライアントの LastRect プロトコル拡張を有効にする 192.168.10.10 14/03/1 rfbProcessClientNormalMessage
: 不明なエンコーディングを
無視
-223
14/03 /16 01:38:14 rfbProcessClientNormalMessage: 不明なエンコーディングを無視 - 32764 14/03/16 01:38:14 RFBProcessClientNormalMessage:
不明なエンコーディングを無視 -32766 14/03/16 01:
エンコードを無視 -32765 -32765
14/03/16 01:38:14 RFBPROCESSCLOCESSCLOCESSCLECCLECCLECCLMESS 6 01:38:43
クライアント 192. 168. 10. 10 消えた
14 /03/16
4 01:38:43受信したキーイベント0、ポインタイベント260
14/03/16 01:38:43フレームバッファアップデート2、長方形5
、バイト776789 4920
14/03/16 01:38:43 カーソル位置の更新 1、バイト 12
14/03/16 01:38 :43 16 進四角形 2、バイト 771857 14/03/16
01:38:43 元のバイトは 6294同じで、圧縮率は8.151095です。
どんなアイデアがありますか?
[EDIT, 2014/03/14, 1409 UTC]: XFCE デスクトップでエラーなしで実行されることに言及するのを忘れました。しかし、私はKDEを好み、可能であればKDEを動作させたいと思います。
[EDIT, 2014/03/14, 2216 UTC]: これは Paul H. の提案に対するフォローアップです。コメントのミニフォーマットがブロックの引用や画像を受け入れないようで、ここに入れました。
ありがとうございます。これにより、さらに一歩進むことができます。 "startkde &"コマンドを実行すると、クライアントウィンドウがロードを開始および閉じる前に、このポイントに到達する合理的に見えるデスクトップで開きます(左上隅のエラーメッセージを参照)。
ログは次のとおりです。
14/03/16 21:32:11 デスクトップ名「X」(テスト:1)
14/03/16 21:32:11 サポートされるプロトコルバージョン:3.3、3.7、3.8、3.7t、3.8t
14/03/ 16 21:32:11
TCP ポート 5901 で VNC 接続をリッスンします。 QDBusConnection: QCoreApplication 以前に作成されたセッション D-Bus 接続。アプリケーションが予期せず動作することがあります。
QDBusConnection:QCoreApplication以前に作成されたセッションD-Bus接続。アプリケーションが予期せず動作することがあります。14/03/16 21:32:37 クライアントからの接続の取得 192.168.10.10 14/03/16 21:32:37
プロトコルバージョン 3.8
の使用
/ 03/16 21:32:47 クライアントの
ピクセル
形式255 g 255 b 255, Shift r 16 g 8 b 0 14/03/16 21:32:47 翻訳
不要
14/03/16 21:32:47 クライアントに 16 進符号化を使用
16 21:32:47 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 19
14/03/16 21:32:47 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 18
14/03/16 21:32:47 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 17
14/03/16 21 : 32:47 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 16
14/03/16 21:32:47 rfbProcessClientNormalMessage: 알 수 없는 인코딩 무시 10
14/03/16 21:32:47 rfbProcessClientNormalMessage: 알 수エンコーディングを無視する 9
14/03/16 21:32 : 47 rfbProcessClientNormalMessage: 不明なエンコーディングを無視 8 14/03/16 21:32:47 クライアントに圧縮レベル 6 を使用 192.168.10.10 14/03/1 47
クライアントにフルカラーを有効にする 192.168.10.10 14/03 カーソル
更新
/ 16 21:32:47 クライアント 192.168.10.10 のカーソル位置更新を有効にする
14/03/16 21:32:47 クライアント 192.168.10有効化
14/03/16 21:32:47 rfbProcessClientNormalMessage: 不明なエンコードを無視 - 65530
14/03/16 21:32:47 クライアントの LastRect プロトコル拡張を有効にする 192.168.10.10 14/03/1 rfbProcessClientNormalMessage
: 不明なエンコーディングを
無視
-223
14/03 /16 21:32:47 rfbProcessClientNormalMessage: 不明なエンコーディングを
無視 - 32764 14/03/16 21:32:47 rfbProcessClientNormalMessage: 不明なエンコーディングを無視 - 32766
14/03/16ないエンコードを無視 - 32765
14/03/16 21:32:47 rfbProcessClientNormalMessage: 不明なエンコーディングを無視 - 1063131698 廃止された信号に接続 QDBusConnectionInterface
::Service Owner Change( QString,QString,QString)
されたセッションD-Bus接続。アプリケーションが予期せず動作することがあります。
QDBusConnection:QCoreApplication以前に作成されたセッションD-Bus接続。アプリケーションが予期せず動作することがあります。
kbuildsycoca4 実行中...
kbuildsycoca4(989) KBuildSycoca::checkTimestamps: ファイルのタイムスタンプの確認 kbuildsycoca4
(989) KBuildSycoca::checkTimestamps: タイムスタンプの確認の確認
kbuildsycoca4(989) Qube
前に作成されたセッション。アプリケーションが予期せず動作することがあります。
QDBusConnection:QCoreApplication以前に作成されたセッションD-Bus接続。アプリケーションが予期せず動作することがあります。
オブジェクト::接続: 対応するシグナルなし org::freedesktop::UPower::DeviceAdded(QString)
オブジェクト::Connection: 対応するシグナルなし org::freedesktop::UPower::DeviceRemoved(QString)
QDBusConnection: 名前 'freedesktop. UDisks2に「所有者がいますが」「:1.11」だと思います。
klauncher: シグナル 15 で Knotify4 終了
: 致命的な IO エラー: クライアントが終了しました
kded4: 致命的な IO エラー: クライアントが終了しました
konsole: 致命的な IO エラー: クライアントが終了しました
konsole(902) Konsole::SessionManager::~SessionManager: Konsole SessionManagerが削除されましたが、セッションはまだアクティブです。
私が見たエラーレポートによると、「アプリケーションが正しく動作していない可能性があります」で終わる最初のエラーメッセージは重要ではありません。残りはわかりません...
答え1
KDEは私のシステムのightvncserverで動作します。このxstartupを試してください:
#!/bin/sh
unset SESSION_MANAGER
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
konsole &
VNCを介して接続すると、ターミナルウィンドウが表示されます。その後、startkde &
端末で試してみて開始することを確認してください。そうでない場合は、端末のエラーメッセージを確認し、そこから始めてください。起動したら、startkde &
xstartupスクリプトの最後に追加して再試行できます。
以下は、vnc4serverとxfceを使用して私に役立つ最小のxstartupです。konsole &
以前のように追加してxfce4-session &
に変更できますstartkde &
。まだKDEでは試していません。
#!/bin/sh
unset SESSION_MANAGER
xsetroot -solid grey
vncconfig -iconic &
xfce4-session &
答え2
黒い画面の問題を解決するためにsddmをxdmに置き換えましたが、今はうまくいきます。以下を参照してください。 https://forums.opensuse.org/showthread.php/532320-vncserver-blank-screen
Switch your Display Manager to XDM, KDM (you would have to install that in Yast, first), or LightDM on the machines you are trying to access.
Code:
su -
and give the password, then:
Code:
update-alternatives --config default-displaymanager
choose your Display Manager from the list.
SDDM does not work well with VNC yet.