GVfs のマウントポイントを探す

Android などでよく使う USB の mtp プロトコルですが,GVfs で自動マウントされます.ファイルマネージャの Nautilus などでアクセスできますが,途中で失敗することがあります.そこで端末上から rsync コマンドを使って失敗しても失敗した部分だけ再試行できるようにしていました.今回 Debian stretch amd64 + Gnome-shell 環境だと以前のマウントポイントの ~/.gvfs にはマウントされなくなっていました.

% ls -lA ~/.gvfs 
合計 0

Nautilus のロケーションは次のようになっていますがこれも端末からはアクセスでき無さそう. mtp://[usb:001,009]/

Nautilus で umount して,fuser mount して rsync してみようと思ったのですが, mtpfs も jmtpfs 失敗してしまいました.

% mtpfs fuse/mtp
Listing raw device(s)
Device 0 (VID=1004 and PID=631c) is a LG Electronics Inc. LG-E610/E612/E617G/E970/P700.
   Found 1 device(s):
   LG Electronics Inc.: LG-E610/E612/E617G/E970/P700 (1004:631c) @ bus 1, dev 6
Attempting to connect device
Android device detected, assigning default bug flags
Error 1: Get Storage information failed.
Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
Error 2: Error 02fe: PTP: Protocol error, data expected
Listing File Information on Device with name: LGL22
LIBMTP_Get_Storage() failed:-1
% ls -la /home/mk/fuse/mtp
合計 8
drwxr-xr-x 2 mk mk 4096  8月 17 17:19 .
drwxr-xr-x 8 mk mk 4096  8月 17 17:19 ..
% jmtpfs fuse/mtp
Device 0 (VID=1004 and PID=631c) is a LG Electronics Inc. LG-E610/E612/E617G/E970/P700.
Android device detected, assigning default bug flags
% ls -la /home/mk/fuse/mtp
ls: /home/mk/fuse/mtp にアクセスできません: 入力/出力エラーです
% fusermount -u /home/mk/fuse/mtp

Nautilus で右クリックして 端末で開く から確認することが出来ました.

Screenshot from 2015-08-17 18-19-43

Screenshot from 2015-08-17 18-26-02

どうも GVfs のマウントポイントは ~/.gvfs から /run/user/1000/gvfs に変わったようです. 1000 は ユーザの UID でしょうね.

ということで,rsync でデータコピーが出来ました.

% rsync -av /run/user/1000/gvfs/mtp:host=%5Busb%3A001%2C009%5D/内部ストレージ/DCIM /export/Photo

その後 man gvfsd-fuse に発見.

   gvfsd-fuse is normally started by gvfsd(1). In this case, the mount point is $XDG_RUNTIME_DIR/gvfs or $HOME/.gvfs.

確認すると一緒ですね.

% echo $XDG_RUNTIME_DIR/gvfs
/run/user/1000/gvfs

しかし,gvfs-* 系のツールでも確認できそうなんですがうまく行かないですね…….

% gvfs-mount -h
用法:
  gvfs-mount [オプション...] [LOCATION...]

ロケーションをマウントします。

ヘルプのオプション:
  -h, --help                      ヘルプのオプションを表示する

アプリケーションのオプション:
  -m, --mountable                 マウント可能としてマウントする
  -d, --device=DEVICE             デバイスファイルでボリュームをマウントする
  -u, --unmount                   アンマウントする
  -e, --eject                     取り出す
  -s, --unmount-scheme=SCHEME     指定されたスキームですべてのマウントを解除する
  -f, --force                     Ignore outstanding file operations when unmounting or ejecting
  -a, --anonymous                 Use an anonymous user when authenticating
  -l, --list                      リスト表示する
  -o, --monitor                   イベントを監視する
  -i, --detail                    その他の情報を表示する
  --version                       Show program version
% gvfs-mount -l
Drive(0): INTEL SSDSA2CW600G3
  Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Drive(1): ST932032 0AS
  Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
  Volume(0): 320 GB ボリューム
    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    Mount(0): 320 GB ボリューム -> file:///media/mk/555bf630-0ca8-4282-9a79-7acfd6355a0a
      Type: GProxyMount (GProxyVolumeMonitorUDisks2)
Volume(0): LGE Android Phone
  Type: GProxyVolume (GProxyVolumeMonitorMTP)
  Mount(0): LGE Android Phone -> mtp://[usb:001,009]/
    Type: GProxyShadowMount (GProxyVolumeMonitorMTP)
Mount(1): mtp -> mtp://[usb:001,009]/
  Type: GDaemonMount
% gvfs-info -f 'mtp://[usb:001,009]/'
属性:
  standard::type: 2
  standard::name: [usb:001,009]
  standard::display-name: LGL22
  standard::icon: multimedia-player
  standard::content-type: inode/directory
  standard::size: 0
  standard::symbolic-icon: multimedia-player-symbolic
  access::can-read: TRUE
  access::can-write: FALSE
  access::can-execute: TRUE
  access::can-delete: FALSE
  access::can-trash: FALSE
  access::can-rename: FALSE
  filesystem::size: 38238453760
  filesystem::free: 12884361216
  filesystem::type: mtpfs
  gvfs::backend: mtp

追記)
mount コマンドで確認できるよと教えてもらいました.この時は mount コマンドや /etc/motd も確認したけど見当たらないと思っていたのですが,再確認したらちゃんと見えました.アイコン上は mount してるけど中が見えないという状態がよく起こるのですがそのタイミングで確認したのかもしれません.ちなみにその時は USB 抜き差しでも症状変わらず Android 側で PTP / MTP と切り替えると見えるようになりました.


% mount|grep gvfs
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
% cat /etc/mtab|grep gvfs
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0

コミケ88のお知らせ

もう明日からコミックマーケット88 ですね.
今回 matoken’s meme は 日曜日 東地区 “P” ブロック 13b に配置されました.

頒布物は,以下の2種類と

  • 新刊「端末で遊ぼう」 A5 20p
    (端末で生活を試みたりする本)
  • C87既刊「Raspberry Pi で遊ぼう!」B5 52p
    (Raspberry Pi の tips集 + モニタリングポストの記事)
    terminal-0pi-0

小江戸らぐ工作部の「ラズパイライフ」です.
file_1

残り少ない Debian SuperKey sticker も配布予定です.
IMG_20131120_021411

是時遊びに来て下さい.

追記)
中の人は金欠で行かれてません.小江戸らぐ工作部の方々にお願いしています><

端末操作を Web で共有出来る asciinema

asciinema ちょっと面白い.端末の操作を gyazo や pastebin みたいにお手軽にwebで公開みたいなイメージ.ttyrec とかもあるけどお手軽にWebで見られるのがいい.ぱっと見動画みたいだけどコピペも出来る.

Web への埋め込みも出来て,画像のリンク形式と
asciicast
直接再生できるプレイヤー形式が選べる.

色だけでなく日本語もいけるけれど w3m-img とかの画像は見えない.以下は録画時には w3m-img で画像が出ていた.

クライアントコマンドを使うのだけどRaspberry Pi とかも狙っているのか armv6/armv7 もあるのが便利.

case "$(uname -s).$(uname -m)" in
    Linux.x86_64) platform=linux-amd64;;
    Linux.i?86) platform=linux-386;;
    Linux.armv6l) platform=linux-arm;;
    Linux.armv7l) platform=linux-arm;;
    Darwin.x86_64) platform=darwin-amd64;;
    Darwin.i?86) platform=darwin-386;;
    *) echo "Sorry, there is no asciinema binary available for your platform. Try building from source." >&2; exit 1;;
esac

導入例

$ curl -sL https://asciinema.org/install > install
$ lv install
$ sh install
Downloading asciinema v0.9.9 for linux-arm...
######################################################################## 100.0%
Warning: you may be asked for administrator password to save the file in /usr/local/bin directory
Installing to /usr/local/bin/asciinema...
Success.

Start recording your terminal by running: asciinema rec

オプションは少ない

$ asciinema 
usage: asciinema [-h] [-v] <command> [command-options]

Record and share your terminal sessions, the right way.

Commands:
   rec            Record terminal session
   auth           Assign local API token to asciinema.org account

Options:
   -h, --help     Display help message
   -v, --version  Display version information

   Run "asciinema <command> -h" to see the options available for the given command.

認証

認証しなくても使える.未認証の時にUpしたものも認証後認証ユーザのものになった.

$ asciinema auth
Open the following URL in your browser to register your API token and assign any recorded asciicasts to your profile:
https://asciinema.org/connect/8025b685-d45e-4631-8dcf-xxxxxxxxxxxx

録画

rec option で録画できる.exit で録画終了で,その後 Enter でアップロード,Ctrl+c でキャンセル.

$ asciinema rec
~ Current terminal size is 178x49.
~ It may be too big to be properly replayed on smaller screens.
~ You can now resize it. Press <Enter> to start recording.

~ Asciicast recording started.
~ Hit Ctrl-D or type "exit" to finish.
pi@raspberrypi~ $ 
pi@raspberrypi~ $ 
pi@raspberrypi~ $ exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.

https://asciinema.org/a/16372

Web にアクセスすると録画されたものが閲覧できる.アップロードにはプライベートになっていて公開するには公開設定が必要.この動きは Account settings で設定変更が可能.テーマの選択やトークンの管理もここで出来る.

#このエントリ公開していたつもりが公開できていなかった><

フレームバッファであひる焼き(fbterm の 背景画像の設定)

一部の楽屋ネタ的なものですが,Twitter であひるを焼く人たちがいます.

libcaca というライブラリのデモで cacafire というものがあるのですが,これがアスキーアートで炎の燃える様子が動画で表現されるので楽しいです.これであひるを焼くように見せかけないだろうかと思いました.

フレームバッファを使えばきっと出来るなーと.そしてfbterm 1.5 からバックグラウンドイメージのサポートが入っていて,デモ用に fbv というものがあります.これを組み合わせればいけるだろうと試してみました.

が,試してみたところ libgif まわりで少し嵌ったのでメモ.

環境

  • Debian stretch amd64 or Debian jessir amd64

関連パッケージを導入

$ sudo apt install build-essential libpng-dev libjpeg-dev libgif-dev

source 入手 & build

$ wget http://s-tech.elsat.net.pl/fbv/fbv-1.0b.tar.gz
$ tar tvf fbv-1.0b.tar.gz
$ tar xf fbv-1.0b.tar.gz
$ cd fbv-1.0b
$ ./configure --help
    :
$ ./configure --prefix=$HOME/usr/local
$ make

ここで問題発生.

% ./configure
checking for libungif presence... no
 :
% make
gif.o: In function `fh_gif_load':
gif.c:(.text+0x111): undefined reference to `DGifOpenFileName'
gif.c:(.text+0x12a): undefined reference to `DGifGetRecordType'
gif.c:(.text+0x156): undefined reference to `DGifGetExtension'
gif.c:(.text+0x189): undefined reference to `DGifGetExtensionNext'
gif.c:(.text+0x1b0): undefined reference to `DGifCloseFile'
gif.c:(.text+0x1c4): undefined reference to `DGifGetImageDesc'
gif.c:(.text+0x2dc): undefined reference to `DGifGetLine'
gif.c:(.text+0x409): undefined reference to `DGifCloseFile'
gif.c:(.text+0x45b): undefined reference to `DGifGetLine'
gif.o: In function `fh_gif_getsize':
gif.c:(.text+0x5df): undefined reference to `DGifOpenFileName'
gif.c:(.text+0x5f8): undefined reference to `DGifGetRecordType'
gif.c:(.text+0x61a): undefined reference to `DGifGetExtension'
gif.c:(.text+0x631): undefined reference to `DGifGetExtensionNext'
gif.c:(.text+0x654): undefined reference to `DGifCloseFile'
gif.c:(.text+0x674): undefined reference to `DGifGetImageDesc'
gif.c:(.text+0x68d): undefined reference to `DGifCloseFile'
collect2: error: ld returned 1 exit status

libungif が見つからずエラーになっています.パッケージ内にはそれらしいものは存在しますが実体が無さそうです.

% dpkg -L libgif-dev|grep ungif
/usr/lib/libungif.la
/usr/lib/libungif.so
/usr/lib/libungif.a
% ls -l /usr/lib/libungif.so
lrwxrwxrwx 1 root root 15 12月  8  2013 /usr/lib/libungif.so -> libgif.so.4.1.6
$ ls -l /usr/lib/libgif.so.4.1.6
ls: cannot access /usr/lib/libgif.so.4.1.6: No such file or directory

libungif/libgif の違いはなんだろうと調べてみるとUnisys社のLZW特許問題を回避するためのものが libungif だったようです.2004年に特許は切れているので現在は libgif になってる感じ?

gif ファイルを使わないようにして回避

configure option で gifを使わないようにして回避します.これでもほぼ問題ない気もする.

./configure --without-libgif

configure script を書き換えて libgif を使うようにする

ちょっと乱暴ですが, configure script の libungif を libgif に一括で書き換えてしまいます.

% sed -e "s/ungif/gif/g" ./configure-org > ./configure
% ./configure
% make

シンボリックリンクを貼って逃げる

現在こんな感じなので,

% ls -la /usr/lib/lib*gif*
lrwxrwxrwx 1 root root  8 Dec  8  2013 /usr/lib/libungif.a -> libgif.a
lrwxrwxrwx 1 root root  9 Dec  8  2013 /usr/lib/libungif.la -> libgif.la
lrwxrwxrwx 1 root root 15 Dec  8  2013 /usr/lib/libungif.so -> libgif.so.4.1.6

こんな感じでシンボリックリンクを貼ってあげる.

% sudo ln -s /usr/lib/x86_64-linux-gnu/libgif.so /usr/lib/libgif.so.4.1.6

後はそのままbuild

あひるの表示

fbv で画像を表示してみます.

$ fbv ahiru.png

以下のページに fbv で背景を設定して fbterm を起動する script があります.

これを少しいじってこんな感じに

#!/bin/bash
# fbterm-bi: a wrapper script to enable background image with fbterm
# usage: fbterm-bi /path/to/image fbterm-options
clear
echo -ne "\e[?25l" # hide cursor
fbv -ciuke "$1" << EOF
q
EOF
shift
export FBTERM_BACKGROUND_IMAGE=1
exec fbterm "$@"

いじったのはゴミが残る場合があるので初めに clear を実行.fbv で縦横比虫をしないように -r option を消しました.

あひる焼き

もう少しで焼けます.
あひるは用意出来たので今度は炎の用意です.cacafire の含まれている caca-utils パッケージを導入します.

% sudo apt install caca-utils

焼きます

% cacafire

#terminal をフレームバッファも含めて動画でスクリーンショットとる方法が解らず今回は仮想マシンで実行してキャプチャしました.だれか端末のフレームバッファも含めての動画でのスクリーンショットのとり方を知ってる人が居たら教えて下さいo
##文字だけなら ttyrec とか asciicast が,1枚の画像だけであれば fbgrab があるんですけどね……・

実用性?

今回のは完全にネタですが,切替器で1つの KVM で複数端末を使う場合はそれぞれ別の壁紙を設定しておくと間違いが起こりにくくなっていいかもしれません.しかし今回の方法だと login しないといけないのでいまいち.login 以前に壁紙を設置する方法も調べてみたいと思います.

関連URL

Pidgin で Facebook にログインできなくなっていたので purple-facebook プラグインを試す

最近 Pidgin での Facebook 接続で以下のようなエラーが発生して接続できなくなっていた.
Screenshot from 2015-08-10 07-13-39

調べてみるとPidgin で利用している XMPP Chat API は2014-04-30 から非推奨になって,2015-04-30 から使えなくなっていたらしい.

何か方法はないかなと探してみると以下のようなプロジェクトを発見.

これを使えばfacebook chat が Pidgin でまた利用出来るようになる?ということで試してみた.

導入環境

  • Debian stretch amd64
  • Pidgin 2.10.11-1

リポジトリの登録

% sudo sh -c 'echo "deb http://download.opensuse.org/repositories/home:/jgeboski/Debian_8.0 ./" > /etc/apt/sources.list.d/jgeboski.list'

この URL の Debian_8.0 部分は host のディストリビューションによって変わる.以下のページを参照して設定する.

鍵登録

% wget wget http://download.opensuse.org/repositories/home:/jgeboski/Debian_8.0/Release.key
% gpg  ./Release.key
pub  2048R/1C85BB5E 2015-07-23 home:jgeboski OBS Project <home:jgeboski@build.opensuse.org>
% sudo apt-key add ./Release.key
OK
% rm ./Release.key

この URL の Debian_8.0 部分は host のディストリビューションによって変わる.以下のページを参照して設定する.

パッケージを最新にして purple-facebook pkg を導入

% sudo apt update && sudo apt upgrade && sudo apt install purple-facebook

Pidgin が起動していたら終了して起動し直す.
以下のようにこれまであった facebook (XMPP) の上に Facebook の項目が増えた.
Screenshot from 2015-08-10 07-40-23

既存の設定を書き換えるか,新規に Facebook プロトコルでの設定を行い,接続を試みる.

ログイン失敗

以下のエラーとなりログイン出来ない.

Login approvals are on. Expect an SMS shortly with a code to use for log in (406)

これはおそらく2段階認証が有効になっているため.パスワードの代わりにコードジェネレータ のコードを入力することでログインできた.
Screenshot_2015-08-10-08-27-02

#Google Hangout もどうにかならないかな……

バッテリをフル充電しないようにして長持ちさせるためのメモ

MassRide
NotePC を AC電源で利用する場合フル充電しっぱなしだとバッテリの寿命が短くなります.フル充電せずに手前で充電を止めるようにする方法のメモです.
#いつも持ち運ぶために100%にしたあと設定を覚えてなくてそのままにしてしまうのでメモ><

環境

  • Debian stretch amd64
  • Thinkpad X201s

導入

$ sudo apt install tlp

確認

% sudo tlp-stat -b             
--- TLP 0.7 --------------------------------------------

+++ ThinkPad Extended Battery Functions
tp-smapi   = active
tpacpi-bat = inactive (kernel module 'acpi_call' not installed)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/devices/platform/smapi/BAT0/manufacturer               = SANYO
/sys/devices/platform/smapi/BAT0/model                      = 42T4XXX
/sys/devices/platform/smapi/BAT0/manufacture_date           = 2010-08-14
/sys/devices/platform/smapi/BAT0/first_use_date             = 2010-09-22
/sys/devices/platform/smapi/BAT0/cycle_count                =    277
/sys/devices/platform/smapi/BAT0/design_capacity            =  57720 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity         =  27340 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity         =  22140 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent          =     81 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = not_discharging [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time    = not_charging [min]
/sys/devices/platform/smapi/BAT0/power_now                  =      0 [mW]
/sys/devices/platform/smapi/BAT0/power_avg                  =      0 [mW]

/sys/devices/platform/smapi/BAT0/start_charge_thresh        =     96 [%]
/sys/devices/platform/smapi/BAT0/stop_charge_thresh         =    100 [%]
/sys/devices/platform/smapi/BAT0/force_discharge            =      0

設定( 充電開始 % を75% /充電終了 % を 85% にする場合 )

% sudo tlp setcharge 75 85 BAT0                
Setting temporary charge thresholds for BAT0:
  stop  = 85
  start = 75

もしバッテリが複数ある場合は BAT0, BAT1 のようになるはず.

フル充電に戻す

外で使う前にフル充電したい場合など.

% sudo tlp fullcharge
Setting temporary charge thresholds for BAT0:
  stop  = 100
  start = 96

参考URL

関連記事

Android の所謂Stagefright 問題対応を試す

てことで暫く運用して問題なさそう&思ってたより対応遅そうなのでこちらにもメモ.
所謂Stagefright 問題.

メディアプレイヤーフレームワーク Stagefright に欠陥があり,メディアファイルにより任意のコードが実行可能.対象はAndroid 2.2(Froyo) 以降全てと幅広い.(なお,95%のAndroid が対象らしい.逆に2.1以前が 5% もあるのに驚いたり)
MMS 経由で攻略メディアファイルを送信してユーザの操作なしに乗っ取り可能.日本ではMMS が利用できる環境は少ないけれどこのパターンは気づかないうちに乗っ取られるのがとても怖い.

脆弱性の確認は以下のアプリでも可能.

対策はAndroid 5.1.1_r5 にする,Google が各端末メーカに提供したパッチを配布したのでそれがリリースされるのを待って適用する.
しかし,Nexus でさえやっと8/5 にリリースなので,日本の端末は何時になるだろう……という感じ.

ちなみにCynamonMod は即日対応完了している.

先ずはMMS で勝手にメディアファイルが展開されるのを防げないかと幾つかのアプリを確認してみたがメディアを自動読み込みしないというような設定のあるものは見当たらなかった.

検索したりしていると以下のフォーラムを発見.build.drop でStagefright を無効にしてしまうというもの.

media.stagefright.enable-aac=false
media.stagefright.enable-fma2dp=false
media.stagefright.enable-http=false
media.stagefright.enable-player=false
media.stagefright.enable-qcp=false
media.stagefright.enable-scan=false

build.drop の書き換えは権限さえあれば以下のアプリでお手軽に出来る.

root が無くても書き換えが可能な場合もあるらしいが,AU で契約している端末(KYOCERA URBANO PROGRESSO)はダメだった.

% ./adb pull /system/build.prop
% vim build.prop
% ./adb push ./build.prop /system/build.prop 
failed to copy './build.prop' to '/system/build.prop': Read-only file system
% ./adb shell
shell@android:/$ ls -l /system/build.prop
rw-r--r- root     root         4977 2014-07-29 21:20 build.prop
/dev/block/mmcblk0p12 /system ext4 ro,relatime,user_xattr,barrier=1,nodelalloc,data=journal 0 0

手持ちのAU と契約している端末は2012年5月のものらしい.セキュリティ修正は何時やってくるのか,そもそもやってくるのか…….

可能なら CynamonMod にしてしまいたいところですが,国内端末とかはなかなかですね…….

TeamViewer Linux版 を少し試す & 文字化け対応

[TeamViewer Linux版 あるのか.しらなかった

“Linux版TeamViewerの無料ダウンロード” https://www.teamviewer.com/ja/download/linux.aspx

https://plus.google.com/u/0/+KenichiroMATOHARA/posts/MtcA41kdpD9
(元投稿消えている)

ということでTeamViewer にLinux版があるのを知り試してみました.

導入自体はパッケージがあるのでこんな感じで(hash は見つからなかった……)
amd64版もあるようですがteamviewerd.service が起動しなかったりしたのでMultiarch なi386 を利用しています.arm版もあると嬉しい.

% wget http://download.teamviewer.com/download/teamviewer_i386.deb
% sha1sum teamviewer_10.0.41499_i386.deb 
438a1b27531faf8a89148b011e5214aa3f95ab1e  teamviewer_10.0.41499_i386.deb
% sha256sum teamviewer_10.0.41499_i386.deb 
0694c756b8cb5f2b09c8d6db960ced3e899d4ce43060e77ef4f1c36254dc31c4  teamviewer_10.0.41499_i386.deb
% sudo dpkg -i teamviewer_10.0.41499_i386.deb

このとき日本語Linux環境で利用した場合所々文字化けが起こります.
Screenshot from 2015-08-02 08-03-25

TeamViewer はWine経由で動作しているよう&Wineでよく見かける感じの文字化けだったのでWineの設定を探し設定変更したところ文字化けしなくなりました.

  • 修正内容
    /opt/teamviewer/tv_bin/wine/share/wine/wine.inf[Fonts] セクションに以下の設定を追加
HKLM,%FontSubStr%,"MS Gothic",,"Ume Gothic"
HKLM,%FontSubStr%,"MS PGothic",,"Ume Gothic"
HKLM,%FontSubStr%,"MS UI Gothic",,"Ume Gothic"
HKLM,%FontSubStr%,"MS Mincho",,"Ume Gothic"
HKLM,%FontSubStr%,"MS PMincho",,"Ume Gothic"

デーモンの再起動

% teamviewer daemon stop
% teamviewer daemon start

次バージョン以降で修正されることを期待してサポートにも投げてみました.(窓口合ってたかな?)

いつもはssh over (X/RDP/VNC)な感じで事足りてたしTeamViewer はプロプラ&個人用途以外は有償なのであまり興味はなかったのですが,今回使ってみてAndorid のの画面も引っ張ってこれるのはいいなと思いました.丁度ちょっと前に幾つかのAndroid版VNC Server software を試してうまく動かなかったので特に.

TeamViewer Linux版 を少し試す & 文字化け対応

[TeamViewer Linux版 あるのか.しらなかった

“Linux版TeamViewerの無料ダウンロード” https://www.teamviewer.com/ja/download/linux.aspx

https://plus.google.com/u/0/+KenichiroMATOHARA/posts/MtcA41kdpD9
(元投稿消えている)

ということでTeamViewer にLinux版があるのを知り試してみました.

導入自体はパッケージがあるのでこんな感じで(hash は見つからなかった……)
amd64版もあるようですがteamviewerd.service が起動しなかったりしたのでMultiarch なi386 を利用しています.arm版もあると嬉しい.

% wget http://download.teamviewer.com/download/teamviewer_i386.deb
% sha1sum teamviewer_10.0.41499_i386.deb 
438a1b27531faf8a89148b011e5214aa3f95ab1e  teamviewer_10.0.41499_i386.deb
% sha256sum teamviewer_10.0.41499_i386.deb 
0694c756b8cb5f2b09c8d6db960ced3e899d4ce43060e77ef4f1c36254dc31c4  teamviewer_10.0.41499_i386.deb
% sudo dpkg -i teamviewer_10.0.41499_i386.deb

このとき日本語Linux環境で利用した場合所々文字化けが起こります.
Screenshot from 2015-08-02 08-03-25

TeamViewer はWine経由で動作しているよう&Wineでよく見かける感じの文字化けだったのでWineの設定を探し設定変更したところ文字化けしなくなりました.

  • 修正内容
    /opt/teamviewer/tv_bin/wine/share/wine/wine.inf[Fonts] セクションに以下の設定を追加
HKLM,%FontSubStr%,"MS Gothic",,"Ume Gothic"
HKLM,%FontSubStr%,"MS PGothic",,"Ume Gothic"
HKLM,%FontSubStr%,"MS UI Gothic",,"Ume Gothic"
HKLM,%FontSubStr%,"MS Mincho",,"Ume Gothic"
HKLM,%FontSubStr%,"MS PMincho",,"Ume Gothic"

デーモンの再起動

% teamviewer daemon stop
% teamviewer daemon start

次バージョン以降で修正されることを期待してサポートにも投げてみました.(窓口合ってたかな?)

いつもはssh over (X/RDP/VNC)な感じで事足りてたしTeamViewer はプロプラ&個人用途以外は有償なのであまり興味はなかったのですが,今回使ってみてAndorid のの画面も引っ張ってこれるのはいいなと思いました.丁度ちょっと前に幾つかのAndroid版VNC Server software を試してうまく動かなかったので特に.

さくらのVPS シリアルコンソール(β版) が開始されていたので試す

さくらのVPS ののサーバ設定を変えてtiarra や lingrircgw とかのの自動起動確認のために再起動しようと思い,再起動を見守るためにコンソールを立ち上げようとしたところ新しい項目が増えていました.

Screenshot from 2015-08-01 02-25-08

シリアルコンソール(β版) がそれです.
確認すると 7/23 ににリリースされたようです.

早速設定してみます.設定内容は自分メモを見ながら以下のような感じでで設定しましたちなみに,少なくともDebian Squeese ~ Jessie まで同じ設定でいけてます.

/etc/inittab

#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100

の部分を以下の様に変更.

T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

/etc/default/grub の以下の辺りを設定

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0"

GRUB に反映

$ sudo update-grub

再起動して動作確認.
これでGRUB の画面からシリアルコンソールに表示されるようになりました.

Screenshot from 2015-08-01 03-05-28
Screenshot from 2015-08-01 02-50-34
Screenshot from 2015-08-01 13-33-25
Screenshot from 2015-08-01 13-32-17

日本語入力は下のテキスト送信からとサポートサイトには書かれていますが,普通に uim-fep とかでも入力できました.
以下のような感じで設定すればいいんだけどこの辺りの詳細は以下のページを参考にしてみてください.

$ sudo apt install uim-fep uim-mozc
$ cat << __EOF__ > ~/.uim
(define-key generic-on-key? '("<Control>\\" "<Shift> " "<Control> "))
(define-key generic-off-key? '("<Control>\\" "<Shift> " "<Control> "))
$ uim-mozc -u mozc

Screenshot from 2015-08-01 13-34-11
Screenshot from 2015-08-01 13-37-51

これまでは VNCコンソール(HTML5版)を利用していましたがこれからはシリアルでの利用が多くなりそうです.コピペが出来るのが大きい!後はこのシリアルが ssh 経由で利用できたりしたらまた色々使いやすくなりそうな気もします.(セキュリティは注意が必要ですが)

そうそう,ブラウザのシリアルの画面を閉じただけじゃ切断されずそのままなので最後にちゃんとログアウトしておきましょう.

user@hostname:~$ exit
logout

Debian GNU/Linux 8 hostname ttyS0

hostname login: