2020/02/17(月) [n年前の日記]
#1 [ubuntu] Ubuntu 18.04 LTS上の X11vnc をビルドしてアップデート
Ubuntu Linux 18.04 LTS上で X11vnc を動かすとやたらと落ちるなー、なんでだろうなー、と思っていたけれど。ググってみたら、Ubuntu 18.04 の X11vnc 0.9.13-3 にはバグがあって、高い確率で落ちるのが当たり前だそうで…。X11vnc の新しいバージョンなら修正されているけれど、Ubuntu 18.04 には反映されないまま、1年以上放置されている状態なのだとか。
_Bug #1686084 “x11vnc terminates with **stack smashing detected**...” : Bugs : x11vnc package : Ubuntu
Ubuntu 18.10 (Cosmic) の x11vnc*.deb、x11vnc-data*.deb を入手してインストールする、という手もあるらしく、自分も試してみたけれど。依存関係が解決できなくて、この方法ではインストールができなくて。
以下のページで、修正済みバージョンのソースを入手、かつ、ビルドして、実行バイナリだけを上書きして対処してしまう方法が紹介されていたので、そちらを試してみたり。
_x11vnc `stack smashing detected` solution.
念のために書いておくけれど、公式リポジトリの X11vnc をインストール済みの状態で作業すること。
前述のページでは色々なディストリ用のやり方が報告されているけれど、Ubuntu 18.04 の場合は以下の手順で作業すればいい。
X11vnc を自動起動サービスとして動かしている場合は、以下の操作も必要になるらしい。サービスを一旦終了させてから、バイナリを上書きして、サービスを再起動、ということだろう…。
バージョンを確認。
少し動かしてみたけれど、以前と比べたら全然落ちなくなったような気がする。まあ、そのうち落ちるのかもしれんけど…。
_Bug #1686084 “x11vnc terminates with **stack smashing detected**...” : Bugs : x11vnc package : Ubuntu
Ubuntu 18.10 (Cosmic) の x11vnc*.deb、x11vnc-data*.deb を入手してインストールする、という手もあるらしく、自分も試してみたけれど。依存関係が解決できなくて、この方法ではインストールができなくて。
以下のページで、修正済みバージョンのソースを入手、かつ、ビルドして、実行バイナリだけを上書きして対処してしまう方法が紹介されていたので、そちらを試してみたり。
_x11vnc `stack smashing detected` solution.
念のために書いておくけれど、公式リポジトリの X11vnc をインストール済みの状態で作業すること。
sudo apt install x11vnc x11vnc-data
前述のページでは色々なディストリ用のやり方が報告されているけれど、Ubuntu 18.04 の場合は以下の手順で作業すればいい。
sudo apt-get update sudo apt-get install -y libxtst-dev libssl-dev libjpeg-dev sudo apt-get install -y zlib1g-dev sudo apt-get install -y libssl1.0-dev wget http://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz gzip -dc x11vnc-0.9.14-dev.tar.gz | tar -xvf - cd x11vnc-0.9.14/ ./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall' make sudo cp ./x11vnc/x11vnc /usr/binただ、libssl-dev と libssl1.0-dev は競合するようで…。libssl-dev だけが入っている状態では、./configure の際に、「libssl.so がねえよ」と文句を言われてしまった気がする。仕方なく、後から libssl1.0-dev をインストールしてみたけれど、その際、libssl-dev はアンインストールされてしまった。コレ、大丈夫なのかな…。どうなんだろ…。
X11vnc を自動起動サービスとして動かしている場合は、以下の操作も必要になるらしい。サービスを一旦終了させてから、バイナリを上書きして、サービスを再起動、ということだろう…。
sudo systemctl stop x11vnc.service sudo cp ./x11vnc/x11vnc /usr/bin sudo systemctl daemon-reload sudo systemctl start x11vnc.service
バージョンを確認。
x11vnc --version「x11vnc: 0.9.14」みたいな表示になれば更新できてる。
少し動かしてみたけれど、以前と比べたら全然落ちなくなったような気がする。まあ、そのうち落ちるのかもしれんけど…。
◎ Linux Mint機でも試した。 :
Linux Mint 19.3 をインストールしてあるサブPC上でも試してみた。Linux Mint上でも、元々はバグ入りの x11vnc-0.9.13-3 が入っていた。
こちらも少し動かしてみたけれど、落ちなくなったような気がする。
sudo apt-get update sudo apt-get install -y libxtst-dev libssl-dev libjpeg-dev sudo apt-get install autoconf automake libvncserver-dev wget https://codeload.github.com/LibVNC/x11vnc/tar.gz/0.9.16 -O x11vnc-0.9.16.tar.gz gzip -dc x11vnc-0.9.16.tar.gz | tar -xvf - cd x11vnc-0.9.16 sh autogen.sh ./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall' make sudo cp src/x11vnc /usr/bin/ sudo chown root:root /usr/bin/x11vncUbuntu 上では x11vnc-0.9.14 をビルドしたけど、Linux Mint 上では x11vnc-0.9.16 をビルドしているっぽい。
$ x11vnc --version x11vnc: 0.9.16 lastmod: 2019-01-05
こちらも少し動かしてみたけれど、落ちなくなったような気がする。
[ ツッコむ ]
以上です。