2018年11月22日木曜日

アップデートしたものからもxrdpで接続できるようになりました。が、

すでに10日ほど前の話になってしまいますが、壊れたキーは復活することはなく、ダメ元でシリコンスプレーやらコンプレッサーをつかったりして修理してる気分には浸れましたが、修理というよりトドメを刺しただけでした。

ダメなキーはよりダメに、ダメじゃなかったキーも徐々にダメに。

ダメになっているキーを見てみると格子配線の一本が切れかかってる感じがします。
ダメそうなのはASWEXとかだったかな。

もし水滴などでやられただけなら完全乾燥すれば治りそうな気がしますが、シリコンスプレーを盛大に掛けたので、シート同士がうまく離れなくなって、スイッチとしては機能しなくなると思うので、放置で治るとは思えません。が、それから何度も試してはいます(笑)

本題に戻ると、xrdp経由の接続ではvncサーバーが動いている必要もないというのがようやく実感できました。ですので接続だけならraspi-configのインターフェースでvncを有効にする必要もありません。 ただ、デバイス側のディスプレイが動いていないと問題はありそうな部分もあるので、この辺はまだしっかりと理解できていません。

普通に接続できるようになったraspberry piでも、諸々の設定が昔とは随分と変わっていて、GUIの設定側でユーティリティ経由で起動しているので、物理ディスプレイ(なのかな?)でないと起動しない状態になっていたりするので、xrdp経由で接続できたからといって、まだすべてが満足な状態にはなっていません。

jessieからstratchへアップデートをかけたものは、xrdp経由で接続した後、デスクトップが表示されなかったのですが、動いている環境のパッケージの差異を見つけてアンインストールを繰り返し、ようやくデスクトップが現れるようになりました。

表示されているのですが、いろいろと古い感じがします。

ブラウザはあるにはあったありましたが。

パッケージが全体的に抜け落ちてる感じなのと、もしかしたら、ライト版がもとになってるのかもしれないのかな?

右往左往した軌跡として.bash_historyを見てみました。
sudo apt-get purge realvnc-vnc-server
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install realvnc-vnc-server
sudo raspi-config
sudo apt-get purge realvnc-vnc-server
sudo apt-get autoremove
sudo apt-get purge xrdp
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get purge youtube-dl
sudo apt-get purge xserver-xorg-legacy
sudo apt-get purge xserver-xorg-input-evdev
sudo apt-get purge xserver-xorg-input-synaptics
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get purge ant
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install realvnc-vnc-server
sudo apt-get install xrdp
sudo apt-get update
sudo apt-get dist-upgrade

2018年11月11日日曜日

リブートするとxrdpがエラーに

ここ数日raspberry piでxrdpでwindowsからリモートデスクトップ接続を使えるようにしたのですが、接続できなくなる状況に陥ってしまい悩んでいました。そもそもの原因が良くわからないので結構手間取っていました。

手持ちののもで接続できない状況が2パターンあるようで、一つは旧バージョンからアップグレードしたもので、xrdp接続後、vncサーバーに接続できないパターン。
もう一つはインストール後は接続でき、再起動後にxrdpへの接続ができず、xrdp自体が起動していないパターン。

一つ目はまだ未解決ですが、二つ目の原因がようやくハッキリしました。

ググってみてようやく見つけたのが
xrdp service fails to start after reboot
https://raspberrypi.stackexchange.com/questions/75892/xrdp-service-fails-to-start-after-reboot

という記事でタイトルがそのものズバリで、回答もそのものズバリなものでした。

回答では「マジでlogをtmpfs使ってるの?」ぐらいな感じですが、原因までしっかりと書かれてて素晴らしいです。
原因としては正しく書き込めるlogファイルが存在しないとエラーで起動しないので、ブート時に
touch /var/log/xrdp.log
chown xrdp:adm /var/log/xrdp.log
chmod 640 /var/log/xrdp.log
という感じのスクリプトを動かせばいいんじゃね?的な感じでした。

現象の把握もしんどかったのですが、原因追及も結構きつかったのですが、わかってしまえば、簡単な話でした。

もう一つのxrdpからvncへの接続が失敗してるパターンはもう万歳してしまいそう。