web-dev-qa-db-ja.com

lxrandrが起動に失敗し、セグメンテーション違反をスローします

これは非常に具体的なシナリオですが、これを解決する手掛かりがどこにも見つからなかったので、解決方法を文書化することはおそらく悪い考えではないと思いました。

背景

  • OS:Ubuntu 18.04、Kiwiビルダーを使用してデプロイ(目標はおそらく軽量システムにすることであったため、ミニマリストビルド)
  • ディスプレイマネージャー:lightdm
  • Windowsマネージャー:Openbox

症状

Openboxアプリメニューからlxrandrを起動しようとしても効果がありません。端末ウィンドウの出力からlxrandrを起動してみます。

    Segmentation fault

他には何もありません-コアダンプ、他のエラー、dmesgやシステムログには何もありません。 xrandr自体は問題なく動作し、XRandRの他の視覚的フロントエンド(例:arandr)も問題なく動作しました。 lxrandrを再インストールしても問題は修正されませんでした-明らかに何かが欠けているため、欠けているビットが依存関係としてインストールされることが予想されます。

2
mps

トラブルシューティング

必死の行動として、私はgdbを使ってデバッグを試みましたが、それから何か有用なものを得ることができませんでした:

    $ gdb lxrandr
    [..]
    Reading symbols from lxrandr...Reading symbols from /usr/lib/debug/.build-id/2d/cfbc3d5bd314c17b42e61b059377536fe93831.debug...done.
    done.

    (gdb) run       
    Starting program: /usr/bin/lxrandr 
    [Thread debugging using libthread_db enabled]
    Using Host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

    Program received signal SIGSEGV, Segmentation fault.
    main (argc=1, argv=0x7fffffffe8c8) at lxrandr.c:783
    783 lxrandr.c: No such file or directory.

    (gdb) bt
    #0  0x00005555555574a2 in main (argc=1, argv=0x7fffffffe8c8) at lxrandr.c:783

ソリューション

Lxrandrが問題なく動作するUbuntu 18.04の別のインストールを使用して、不足しているパッケージをX.Org Xサーバーディスプレイドライバーであると特定しました。使用するドライバーがわからない場合は、次のコマンドを実行します。

    apt install xserver-xorg-video-all

私の場合、それは仮想マシンでしたので、実行するには十分でした。

    apt install xserver-xorg-video-vmware

次に、問題を解決するために再起動(またはXを再起動)します。

1
mps