ページ「Dropboxのインストール/ArchLinux」と「X11vnc/ArchLinux」の間の差分

提供: とある社畜の頭脳整理
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
 
1行目: 1行目:
Dropboxをインストールします。<br/>
 
Debianのときに懲りたので、「nautilus-dropbox」を入れていこうと思ったのですが…<br/>
 
  
普通にDropboxの公式サイトに載っている方法で動きました(^_^;)<br/>
+
= x11vncインストール =
 +
以下のコマンドを実行して、x11vncをインストールします。
 +
<syntaxhighlight lang="bash">pacman -S x11vnc</syntaxhighlight>
  
ここに公式サイトの内容を載せても面白くないので、CUIインストール&バックグラウンド起動までやってみようかと思います。<br/>
+
= x11vncのパスワード設定 =
(Debianで挫折したやつですね…)
+
誰でもつなげられるのはセキュリティ的に問題なので、パスワードを設定します。
 +
<syntaxhighlight lang="bash">x11vnc -storepasswd</syntaxhighlight>
 +
<syntaxhighlight lang="text">Enter VNC password:
 +
Verify password:   
 +
Write password to /home/user/.vnc/passwd?  [y]/n y
 +
Password written to: /home/user/.vnc/passwd</syntaxhighlight>
 +
上記の例ではホームディレクトリに保存していますが、別のディレクトリでも構いません。<br/>
 +
別のディレクトリに保存した場合は、起動コマンドを見直してください。
  
= ダウンロード =
+
= ログイン画面からvnc =
まずは、ドロップボックスを利用したいユーザーでsshログインします。<br/>
+
普通に使用するとログインしないとvncは使用できない?のですが…<br/>
もちろんsuしてもOKです。<br/>
+
ログイン画面からvncで接続できるようにしてみます。
  
 +
== gdmの場合 ==
 +
ディスプレイマネージャにgdmを使用している場合です。
  
そこから、公式サイトの通り以下のコマンドを実行します。
+
=== gdmの設定変更 ===
<syntaxhighlight lang="bash">cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -</syntaxhighlight>
+
GNOMEでWaylandを使用している場合は、Waylandを無効化する必要があります。<br/>
するとホームディレクトリに「.dropbox-dist」ディレクトリが作成されます。<br/>
+
以下のファイルを編集して、Waylandを無効化します。
 +
<syntaxhighlight lang="bash">nano /etc/gdm/custom.conf</syntaxhighlight>
  
 +
【修正前】
 +
<syntaxhighlight lang="text">#WaylandEnable=false</syntaxhighlight>
 +
【修正後】
 +
<syntaxhighlight lang="text">WaylandEnable=false</syntaxhighlight>
  
次に操作しやすくするためにパイソンのツールを以下のコマンドでダウンロードします。<br/>
 
(実行権が付いていないので、実行権も付与します。)
 
<syntaxhighlight lang="bash">wget "https://linux.dropbox.com/packages/dropbox.py"
 
chmod +x ~/dropbox.py</syntaxhighlight>
 
  
= 起動 =
+
編集後は再起動かgdmサービスのreloadをしてください。
== ひとまず手順通りに ==
 
最初の起動でデーモンの登録やアカウントとのリンクをするので、公式サイトの手順通りに以下のコマンドを実行します。
 
<syntaxhighlight lang="bash">~/.dropbox-dist/dropboxd</syntaxhighlight>
 
  
すると…以下のメッセージが出続けます。
+
=== x11vncの起動 ===
<syntaxhighlight lang="text"> Dropbox ...
+
以下のコマンドを実行して、x11vncを起動します。<br/>
https://www.dropbox.com/cli_link_nonce?nonce=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</syntaxhighlight>
+
環境によって設定内容が異なるので、多少見直してください。
 +
<syntaxhighlight lang="bash">sudo x11vnc -auth /run/user/120/gdm/Xauthority -display :0 -rfbauth /home/[userid]/.vnc/passwd -forever -noxdamage -xkb -wf -cursor most -fixscreen V=10 -fixscreen C=10 -loop</syntaxhighlight>
  
パソコンからでもよいので、表示されているURLにアクセスして、ドロップボックスのユーザーIDとパスワードを入力します。<br/>
+
で…vncで接続してログインすると画面が真っ黒になる…<br/>
予めログインしている場合はリンクの確認画面が出るので「リンクする」をクリックします。
+
調べたところログイン後はDisplay:1になるとのこと…<br/>
 +
なので、一旦「Ctrl+C」でx11vncを終了させて、改めて以下のコマンドを実行してvncでつなぎなおします。
 +
<syntaxhighlight lang="bash">x11vnc -display :1</syntaxhighlight>
  
 +
ちなみにポート番号は5900番のまま見たいです…<br/>
 +
つなぎ直す必要があるのは面倒ですね…
  
これで、デーモンの登録とアカウントのリンクの完了です。<br/>
+
== LightDMの場合 ==
(sshの画面はメッセージは止まりますが…プロンプトに戻りません…「Ctrl+C」で抜けます)
+
試しに、ディスプレイマネージャをLightDMに切り替えてvncしてみました。<br/>
 +
以下のコマンドを実行して、x11vncを起動します。<br/>
 +
gdmの時と同様に、環境によって設定内容が異なるので、多少見直してください。
 +
<syntaxhighlight lang="bash">sudo x11vnc -auth /var/lib/lightdm/.Xauthority -display :0 -rfbauth /home/[userid]/.vnc/passwd -forever -noxdamage -xkb -wf -cursor most -fixscreen V=10 -fixscreen C=10 -loop</syntaxhighlight>
  
== 手動で起動 ==
+
こちらの場合はつなぎ直す必要は無いようです。
手動で起動する場合はツールを利用して以下のコマンドで実行します。
 
<syntaxhighlight lang="bash">~/dropbox.py start</syntaxhighlight>
 
  
停止は以下のコマンド
+
= 経験したトラブル =
<syntaxhighlight lang="bash">~/dropbox.py stop</syntaxhighlight>
+
== MAC error ==
 
+
ジャーナルに以下のメッセージを出力してVNCが切断される事象が発生しました。
状態の確認は以下です。
+
<pre>archlinux sshd[1108]: error: Received disconnect from x:x:x:x:x:x:x:x port 56413:1: MAC Error</pre>
<syntaxhighlight lang="bash">~/dropbox.py status</syntaxhighlight>
+
何となく色の関係かなと思って、VNCViewerの色の数を少なくしたらひとまず発生しなくなりました…。<br/>
 
+
(これが正しい対処なのかは不明です…)
その他のコマンドは以下を参照してください。<br/>
 
[https://help.dropbox.com/ja-jp/installs-integrations/desktop/linux-commands Linux で Dropbox を利用する:ソース、コマンド、リポジトリからのインストール - Dropbox ヘルプ – Dropbox ヘルプ]
 
 
 
== 特定ユーザーでバックグラウンドで自動起動 ==
 
ここまで来れば、バックグラウンドで…しかもユーザー指定で動かしたくなります。<br/>
 
(Debianの時は、GNOMEの自動ログインを使用していました…)<br/>
 
 
 
 
 
早速サービスファイルを作成します。<br/>
 
以下のコマンドでサービスファイルを作成します。
 
<syntaxhighlight lang="bash">nano /etc/systemd/system/dropbox@.service</syntaxhighlight>
 
 
 
ファイルの内容は以下の通りです。
 
<syntaxhighlight lang="text">[Unit]
 
Description=Dropbox Service
 
After=network-online.target
 
Wants=network-online.target
 
 
 
[Service]
 
ExecStart=/home/%i/dropbox.py start
 
ExecReload=/home/%i/dropbox.py stop && /home/%i/dropbox.py start
 
ExecStop=/home/%i/dropbox.py stop
 
Type=oneshot
 
RemainAfterExit=yes
 
User=%i
 
 
 
[Install]
 
WantedBy=multi-user.target</syntaxhighlight>
 
 
 
ポイントはネットワーク起動後に起動しているくらいでしょうか…<br/>
 
「%i」はサービス起動時に「@」の後ろに記入した文字列に置き換えられます。<br/>
 
 
 
サービスファイルを作成したら、さっそく以下のコマンドで起動してみます。
 
<syntaxhighlight lang="bash">systemctl start dropbox@[userid]</syntaxhighlight>
 
[userid]はドロップボックスで使用する(先ほどリンクした)ArchLinuxのユーザーIDに置き換えてください。
 
 
 
以下コマンドを実行して「Active: active (exited)」と出ていればOKです。
 
<syntaxhighlight lang="bash">systemctl status dropbox@[userid]</syntaxhighlight>
 
 
 
止めるときは
 
<syntaxhighlight lang="bash">systemctl stop dropbox@[userid]</syntaxhighlight>
 
です。
 
 
 
再起動後も有効にしたいので、以下のコマンドを実行します。
 
<syntaxhighlight lang="bash">systemctl enable dropbox@[userid]</syntaxhighlight>
 
 
 
再起動しても「Active: active (exited)」と出ていればOKです。<br/>
 
 
 
= 蛇足 =
 
== 外付けHDDに同期させる ==
 
「/mnt」にマウントしたHDDに「Dropbox」ディレクトリを作成して、シンボリックリンクを張りたいと思います。<br/>
 
(以下Dropbox用のユーザーで作業します)
 
 
 
 
 
まずは以下のコマンドでディレクトリを作成します。
 
<syntaxhighlight lang="bash">mkdir /mnt/Dropbox</syntaxhighlight>
 
 
 
念のためにサービスを停止させます。
 
<syntaxhighlight lang="bash">systemctl stop dropbox@[userid]</syntaxhighlight>
 
 
 
次に、自動で作成されたホームディレクトリの「Dropbox」ディレクトリの名前を以下のコマンドで変更します。
 
<syntaxhighlight lang="bash">mv ~/Dropbox ~/Dtopbox_old</syntaxhighlight>
 
 
 
シンボリックリンクを張ります。
 
<syntaxhighlight lang="bash">ln -s /mnt/Dropbox ~/Dropbox</syntaxhighlight>
 
 
 
最後にサービスを起動します。
 
<syntaxhighlight lang="bash">systemctl start dropbox@[userid]</syntaxhighlight>
 
  
 
= 参考サイト =
 
= 参考サイト =
[https://www.dropbox.com/install?os=lnx インストール - Dropbox]<br/>
+
[https://wiki.archlinux.jp/index.php/X11vnc X11vnc - ArchWiki]<br/>
[https://help.dropbox.com/ja-jp/installs-integrations/desktop/linux-commands Linux で Dropbox を利用する:ソース、コマンド、リポジトリからのインストール - Dropbox ヘルプ – Dropbox ヘルプ]<br/>
+
[http://ossan-engineer.blogspot.com/2017/01/x11vncxvfbxdummyvirtualgl.html おっさんエンジニアの実験室: x11vnc、Xvfb、Xdummy、VirtualGLの使いこごち]<br/>
[https://wiki.archlinux.jp/index.php/Netctl#network-online.target_.E3.81.AE.E6.9C.89.E5.8A.B9.E5.8C.96 network-online.target の有効化]<br/>
 
  
 
[[Category:ArchLinux]]
 
[[Category:ArchLinux]]
[[Category:Dropbox]]
+
[[Category:x11vnc]]
 +
{{DISPLAYTITLE:x11vnc/ArchLinux}}

2019年7月26日 (金) 14:42時点における版

x11vncインストール

以下のコマンドを実行して、x11vncをインストールします。

pacman -S x11vnc

x11vncのパスワード設定

誰でもつなげられるのはセキュリティ的に問題なので、パスワードを設定します。

x11vnc -storepasswd
Enter VNC password: 
Verify password:    
Write password to /home/user/.vnc/passwd?  [y]/n y
Password written to: /home/user/.vnc/passwd

上記の例ではホームディレクトリに保存していますが、別のディレクトリでも構いません。
別のディレクトリに保存した場合は、起動コマンドを見直してください。

ログイン画面からvnc

普通に使用するとログインしないとvncは使用できない?のですが…
ログイン画面からvncで接続できるようにしてみます。

gdmの場合

ディスプレイマネージャにgdmを使用している場合です。

gdmの設定変更

GNOMEでWaylandを使用している場合は、Waylandを無効化する必要があります。
以下のファイルを編集して、Waylandを無効化します。

nano /etc/gdm/custom.conf

【修正前】

#WaylandEnable=false

【修正後】

WaylandEnable=false


編集後は再起動かgdmサービスのreloadをしてください。

x11vncの起動

以下のコマンドを実行して、x11vncを起動します。
環境によって設定内容が異なるので、多少見直してください。

sudo x11vnc -auth /run/user/120/gdm/Xauthority -display :0 -rfbauth /home/[userid]/.vnc/passwd -forever -noxdamage -xkb -wf -cursor most -fixscreen V=10 -fixscreen C=10 -loop

で…vncで接続してログインすると画面が真っ黒になる…
調べたところログイン後はDisplay:1になるとのこと…
なので、一旦「Ctrl+C」でx11vncを終了させて、改めて以下のコマンドを実行してvncでつなぎなおします。

x11vnc -display :1

ちなみにポート番号は5900番のまま見たいです…
つなぎ直す必要があるのは面倒ですね…

LightDMの場合

試しに、ディスプレイマネージャをLightDMに切り替えてvncしてみました。
以下のコマンドを実行して、x11vncを起動します。
gdmの時と同様に、環境によって設定内容が異なるので、多少見直してください。

sudo x11vnc -auth /var/lib/lightdm/.Xauthority -display :0 -rfbauth /home/[userid]/.vnc/passwd -forever -noxdamage -xkb -wf -cursor most -fixscreen V=10 -fixscreen C=10 -loop

こちらの場合はつなぎ直す必要は無いようです。

経験したトラブル

MAC error

ジャーナルに以下のメッセージを出力してVNCが切断される事象が発生しました。

archlinux sshd[1108]: error: Received disconnect from x:x:x:x:x:x:x:x port 56413:1: MAC Error

何となく色の関係かなと思って、VNCViewerの色の数を少なくしたらひとまず発生しなくなりました…。
(これが正しい対処なのかは不明です…)

参考サイト

X11vnc - ArchWiki
おっさんエンジニアの実験室: x11vnc、Xvfb、Xdummy、VirtualGLの使いこごち