情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

【Ubuntu 16.04】MobaXterm(mosh)+byobu(tmux)の表示が崩れる問題の調査と対策

byobu (2) Linux (27) MobaXterm (4) Mosh (5) SSH (5) tmux (3) Ubuntu (25) Ubuntu 16.04 (6)

MobaXtermからmosh接続でUbuntuサーバにアクセスしたところ、画面表示が崩れる(改行位置がおかしい・一番下の行が二重に表示される、色つきの文字が残る、文字の表示が更新されない、など)問題が発生しました

ものすごく致命的な問題ではなかったものの、そろそろどうにかしたいと思い始めたので、いろいろ試してみることにしました。

表示が崩れる

Ubuntu 16.04サーバーにMobaXtermからmoshを利用して接続した際、表示が崩れることが分かりました。特に、byobuを利用した際の一番下の行(status line)が2重に表示されてしまう点が分かりやすかったです。また、各行の1文字目が右端に表示されてしまうのも印象的です。しかし、なんとも説明しにくい症状でした。

byobuの一番下に出る表示が分かりやすいのですが、時計の部分は、その数値を更新しようとして、前の文字を消せず、新しい値が下の行に出てしまっているような雰囲気であり、一度描画した文字を消せていない、描画の更新・上書きに問題があるように見えます。

また、行の先頭の文字が一番右に行ってしまっている問題は、表示領域の横幅の計算をミスしているようにも、文字コード・改行文字的な問題による1文字ずれなどにも見えます。

試した対策

ひとまず、いろいろとMobaXterm側の設定変更を中心に試してみることにしました。

途中からメモしたものです:

  • MobaXtermを最新版(v10.2)にアップデート
  • Skinの変更
  • 「Backspace sends ^H」をオフに
  • Terminal typeをxtermからxterm-r6やESC[n~やByobuに
  • MoshのCharsetをautoからen_US.UTF-8に変更(ja_JP.UTF-8にすると接続失敗)
  • スクロールバーを非表示にしてみたところ、改行位置問題は解消、ステータスラインは解決せず

SSHならうまく行く

「そういえばSSH接続だとどうなるのかな?」とふと、Mosh接続の設定ではなく、普通にSSH接続の設定をMobaXterm上に作成し、試してみました。すると、表示崩れは発生しませんでした

継続調査

現状、常にMoshを使っていたので、ひとまずMoshを使わなくて良さそうな状況ではSSH接続を使うことにしました。普段の不便は大きく解消することができました。

しかしこれではMoshを使う際に困るままなので、また後々調査します。

追記:解決

こちらの記事の対策で、今回取り組んだ問題もまとめて解決されました:zshでtab補完したときに最初の2文字が消えずに残る問題の対策メモ

メモ(接続失敗時のエラー表示)

Error starting mosh-server on remote server.
Output of server 1.1.1.1:

SSH Connection: 2.2.2.2 22222 1.1.1.1 11111
The locale requested by LC_ALL=ja_JP.UTF-8 isn't available here.
Running `locale-gen ja_JP.UTF-8' may be necessary.

mosh-server needs a UTF-8 native locale to run.

Unfortunately, the local environment (LANG=en_US) specifies
the character set "ISO-8859-1",

The client-supplied environment (LC_ALL=ja_JP.UTF-8) specifies
the character set "ISO-8859-1".

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=ja_JP.UTF-8
Connection to 1.1.1.1 closed.

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、 月間1,000万PV を達成しました。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンに詳しくない人の行動や思考、 そしてそんな人を手助けする方法や枠組み。 また、それに関連するような、"身近な"セキュリティ。

    ※SNS(特にTwitter)でシェアされた記事は、内容の追加・更新を行っています。 必ず、ではありませんが、気に入った記事は積極的にシェアしてみてください。

    RSS | Facebook | Twitter | About