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

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

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

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

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)

新しいコメントを投稿




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

    ブログが趣味で、スマホアプリの利用中に発生するトラブルや不具合の対策手順や障害情報、 設定の変更方法などについて、解説記事をよく書いています。

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

    最近の関心は、スマホやパソコンが苦手な人の行動や思考、そしてそんな人を手助けする方法です。

    Amazonのアソシエイトとして、did2は適格販売により収入を得ています。

    RSS | Facebook | Twitter | About