Ubuntuで端末を開けなくなったら見るページ

最終更新日

この作業をしてください.

  1. Alt + F2 でコマンドダイアログを開く
  2. ウィンドウに xterm を打ち込んで enter
  3. xterm で何らかの作業をしてください
コマンド入れてね

Ubuntu + Chrome Remote Desktop の相性問題

僕はデスクトップでもラップトップでもUbuntuというOSを使ってる.そこでChrome Remote Desktopも便利に使ってるんだけど,ときどき問題が起こるっぽい.起こった問題は次の通り.

  1. Ctrl + Alt + T で端末 (Gnome Terminal) が開かない
  2. Nautilus が開かない
  3. 動画を再生できない (YouTubeとかもローカルファイルも,どっちも)

特に困るのは端末を開けないこと.修正のために端末からコマンドを打てない!だからさっきもリンクを貼った askubuntu.com のフォーラムの質疑応答に書かれてる解決策が取れないんです.

Chrome Remote Desktop を導入すると,ときどき上に書いた3つの問題が起きるっぽい.その場合はChrome Remote Desktopを再インストールすることになる.その際は (インストールしたことのある人は知ってるかも知れないけど) このブログに書かれてる作業を実施してくださいね.特に重要なところだけ,バックアップのためにコピーさせてください.ちなみにその記事自体もこの記事の翻訳だから,こっちもクレジットすべきかな.


Ubuntu + Chrome Remote Desktop の設定方法

重要です。必ず実施してください。Ubuntu 18.04で動作させるためにChromeリモートデスクトップを一部修正します。

1 まずChromeリモートデスクトップのサービスを止めます。

sudo systemctl stop chrome-remote-desktop.service

2 次にオリジナルファイルのバックアップを取ります。

sudo cp /opt/google/chrome-remote-desktop/chrome-remote-desktop /opt/google/chrome-remote-desktop/chrome-remote-desktop.orig

3 echo $DISPLAYを手元のマシンで実行してください。表示された数値を覚える (僕の場合は :0 と表示された).

4 そのあと,chrome-remote-desktopを開いて編集していきます。

sudo gedit /opt/google/chrome-remote-desktop/chrome-remote-desktop

4-1 echo $DISPLAY で表示された数値を入力します.画面に:0と表示された場合、FIRST_X_DISPLAY_NUMBER = 20と記載してある場所を以下のように変更しましょう。一部のUbuntuバージョンではecho $DISPLAY:1を返します。そのときはを FIRST_X_DISPLAY_NUMBER = 1 にしてください

FIRST_X_DISPLAY_NUMBER = 0

4-2 つぎに関数get_unused_display_numberの中のwhile os.path.exists(X_LOCK_FILE_TEMPLATE % display):から始まる2行をコメントアウトします。

  @staticmethod
  def get_unused_display_number():
    """Return a candidate display number for which there is currently no
    X Server lock file"""
    display = FIRST_X_DISPLAY_NUMBER
    # while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
    #   display += 1
    return display

4-3 関数launch_sessionを以下のように書き換えます。2行コメントアウトして,下に2行追加.こうすることで、新しいXセッションを立ち上げる代わりに、すでに立ち上がってるセッションを再利用できます(つまり、ホスト側のデスクトップと同じ画面をクライアント側で見ることが出来るようになります)。

  def launch_session(self, x_args):
    self._init_child_env()
    self._setup_pulseaudio()
    self._setup_gnubby()
    # self._launch_x_server(x_args)
    # self._launch_x_session()
    display = self.get_unused_display_number()
    self.child_env["DISPLAY"] = ":%d" % display

5 保存してエディタを終了したら、Chromeリモートデスクトップを再起動します。

sudo systemctl restart chrome-remote-desktop.service

コメントを残す

%d人のブロガーが「いいね」をつけました。