web-dev-qa-db-ja.com

ログオンする前にVNCサーバーを起動するにはどうすればよいですか?

デスクトップでx11vnc(または別のVNCサーバー)を実行したいのですが、ユーザーがログインする前に起動する方法を見つけることができません。しかし、今ではXubuntuでそれを行う方法が見つかりません。

19
PHLAK

通常、代替VNCサーバー、x11vncserverまたはFreeNXを推奨します。

FreeNXの方法とダウンロード情報

x11 VNCおよびドキュメント

これは、VNCがセットアップされ実行可能であることを前提としています。

以下のコードブロックを/etc/init.d/vncserverにコピーします。最も簡単な方法は、クリップボードにコピーして、ターミナルでSudo -i && cat > /etc/init.d/vncserver && exitを実行し、貼り付けてから入力することです Ctrl-D`。必ずUSER変数を、VNCサーバーを実行するユーザーに変更してください。

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 6
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="mythtv"
#${RUNAS}

# The display that VNC will use
DISPLAY="1"

# Color depth (between 8 and 32)
DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600"
GEOMETRY="1024x768"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have.
NAME="my-vnc-server"

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0

Sudo chmod +x /etc/init.d/vncserverを使用してスクリプトを実行可能にします。

次に、Sudo update-rc.d vncserver defaultsを実行します。これにより、vncserverスクリプトに適切なシンボリックリンクが追加され、適切なタイミングでstartおよびstopコマンドが送信されます。

注:ジョブが起動プロセスの早い段階で実行されている場合は、代わりにSudo update-rc.d vncserver 99を使用する必要があります。

再起動せずにサーバーを起動するには、Sudo /etc/init.d/vncserver startを実行します

最後に、ポート590XでVNCクライアントを使用してサーバーに接続します。Xはvncserverスクリプトの「DISPLAY」の値です

ソース

15
Ringtail

私の解決策:

  1. デスクトップ共有に移動して、共有を許可し、適切なパスワードを入力します。 (許可を許可するには、オフをクリックします)
  2. 画面に移動し、30秒後にロックするように設定します。
  3. ユーザーにアクセスして、自動ログインを許可します。

Vinoサーバーが起動し、それに接続できるはずです。保護する必要がある場合は、sshを使用してVNCのトンネルを作成できます(私はPuTTYを使用しましたが、非常にうまく機能しました)。ファイアウォールを有効にして、特定のアドレスからのトラフィックのみを許可することもできます。このソリューションは、20以上のUbuntuボックスで機能しました。

4
Nick Santos

しようとするとどうなりますか?(?)

vino-preferences

..そして、これをAutostarted Appsに追加して、vinoサーバーを起動します。

/usr/lib/vino/vino-server

更新:

これを試して:

UbuntuでVNCサーバーを起動時に起動します

http://www.abdevelopment.ca/blog/start-vnc-server-ubuntu-boot

0
david6