Linux

Console でほげほげ

20467131148_dcf28cc03c_n.jpg

fbterm を起動し日本語表示可能に、uim-fep を起動し日本語入力可能に、byobu を起動。
w3m でブラウジング
alpine/mutt でメール読み書き
といった感じで利用
JavaScript? が動かないのでG+ が見られない感じ。 #API 叩けば見られるけど、POST は多分無理
mobile 向けページでok

だいたい生活できることがわかった.問題点はframebuffer を複数のアプリで同時に利用できない(w3m-image を使うと日本語表示ができない,fbterm を使うと画像が表示できない等)辺りと,矢張りJavaScript?/Flash が動かないのが痛い.

fbterm で動かないものは別の仮想端末に切り替えて使うのが良さそう.

fbterm

jfbterm より速い

$ sudo apt-get install fbterm
  • font/size 指定 ~/.fbtermrc
    font-names=VL Gothic
    font-size=16
  • fonts 設定 k の横に| がくっつくような文字化けなどの対応
    $ cat ~/fonts.conf
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
     <match target="font">
      <edit name="hinting" mode="assign">
        <bool>true</bool>
      </edit>
      <edit name="autohint" mode="assign">
        <bool>true</bool>
      </edit>
      <edit name="hintstyle" mode="assign">
        <const>hintslight</const>
      </edit>
      <edit name="embeddedbitmap" mode="assign">
        <bool>false</bool>
      </edit>
      <edit name="antialias" mode="assign">
        <bool>true</bool>
      </edit>
     </match>
    </fontconfig>
    "の入力がうまくいかない。別の言語用にバインドされているぽい("a でÀ?とかになる) -> 別マシンでは問題ない。上以外の設定がどこかおかしいようだ。
    fbterm 起動前は問題なくて,
    $ sudo loadkeys us
    とかすると治るので,fbterm の既定のキーマップがおかしいぽい.

権限がないと怒られる場合

$ fbterm
can't open frame buffer device!
mmap /dev/zero: Operation not permitted
Using VESA requires root privilege

利用 user を video group に追加してあげる

$ sudo addgroup user video

この後login し直しで反映されるはず

フレームバッファが存在しない場合

kernel パラメータに vesavgavga=0xnnnn を付けてみる.vga= の後ろは解像度と色深度によって変わる.うまく行ったらGRUB等に設定する.
古い i81x などでは vesafb に対応していないらしい, vga16fbi810fb を利用する.※未検証

GRUB の場合

  • 起動時のGRUB のメニューで e を押し編集モードにし,カーネルパラメータの後ろに追記して Ctrl + xF10 で起動して動作確認
  • 動作確認が取れたら /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT= の後ろにうまく行ったパラメータを追記
  • sudo update-grub コマンドで設定反映
  • /boot/grub/grub.cfg に反映されているのを確認
  • 再起動して動作確認
$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.16.0-4-amd64 root=UUID=aa7016cc-d2e6-4356-b697-9787adbbb34 ro quiet vesavga vga=0x317
% sudo hwinfo --framebuffer | grep Mode
  Model: "Intel(R)Ironlake Mobile Graphics Controller"
  Mode 0x0360: 768x480 (+768), 8 bits
  Mode 0x0361: 768x480 (+1536), 16 bits
  Mode 0x0362: 768x480 (+3072), 24 bits
  Mode 0x0363: 960x600 (+960), 8 bits
  Mode 0x0364: 960x600 (+1920), 16 bits
  Mode 0x0365: 960x600 (+3840), 24 bits
  Mode 0x0366: 1280x800 (+1280), 8 bits
  Mode 0x0367: 1280x800 (+2560), 16 bits
  Mode 0x0368: 1280x800 (+5120), 24 bits
  Mode 0x0369: 768x480 (+768), 8 bits
  Mode 0x036a: 768x480 (+1536), 16 bits
  Mode 0x036b: 768x480 (+3072), 24 bits
  Mode 0x036c: 960x600 (+960), 8 bits
  Mode 0x036d: 960x600 (+1920), 16 bits
  Mode 0x036e: 960x600 (+3840), 24 bits
  Mode 0x033c: 1920x1440 (+1920), 8 bits
  Mode 0x034d: 1920x1440 (+3840), 16 bits
  Mode 0x035c: 1920x1440 (+7680), 24 bits
  Mode 0x033a: 1600x1200 (+1600), 8 bits
  Mode 0x034b: 1600x1200 (+3200), 16 bits
  Mode 0x035a: 1600x1200 (+6400), 24 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
  Mode 0x0301: 640x480 (+640), 8 bits
  Mode 0x0303: 800x600 (+832), 8 bits
  Mode 0x0311: 640x480 (+1280), 16 bits

fep

利用できるim の確認

% uim-fep -h|tail -5
[input method]
direct (*)       Pass through all user input without any modification
anthy-utf8 (ja)  A multi-segment kana-kanji conversion engine
anthy (ja)       A multi-segment kana-kanji conversion engine
mozc (ja)        Mozc Japanese engine

uim mozc

$ sudo apt-get install uim-fep uim-mozc

Ctrl+SP/Ctrl+\/Shift+SP で変換出来るようにする

$ cat ~/.uim
;; toggle input method key configuration
(define-key generic-on-key?
    '("<Control>\\" "<Shift> " "<Control> "))

(define-key generic-off-key?
    '("<Control>\\" "<Shift> " "<Control> "))

fbterm 起動後にfep 起動

$ uim-fep -u mozc

以下のようにして同時起動も可能

$ fbterm -- uim-fep -u mozc

uim-fep のmozc でかな入力を規定値にする

mozc の場合こちらのファイルでカスタマイズが出来るようです. `~/.uim.d/customs/custom-mozc.scm` 以下のように書き換えてみたところ,

@@ -3,7 +3,7 @@
 (define mozc-widgets '(widget_mozc_input_mode widget_mozc_kana_input_method widget_mozc_tool))
 (define default-widget_mozc_input_mode 'action_mozc_direct)
 (define mozc-input-mode-actions '(action_mozc_direct action_mozc_hiragana action_mozc_katakana action_mozc_halfkana action_mozc_halfwidth_alnum action_mozc_fullwidth_alnum))
-(define default-widget_mozc_kana_input_method 'action_mozc_roma)
+(define default-widget_mozc_kana_input_method 'action_mozc_kana)
 (define mozc-kana-input-method-actions '(action_mozc_roma action_mozc_kana))
 (define mozc-use-with-vi? #f)
 (define mozc-use-context-aware-conversion? #f)
mozc[MあRM]

mozc[MzあかM]

になり, 入力も `aiu->あいう` が `aiu->ちにな` になりました.

詳細はこちらのファイルを参照してください. `/usr/share/uim/mozc-custom.scm`

anthy は未検証ですが,以下を参考に ` ~/.uim.d/customs/custom-anthy*.scm` を書き換えることで同様のことが出来ると思います.

/usr/share/uim/anthy-key-custom.scm
/usr/share/uim/anthy-utf8-custom.scm
/usr/share/uim/anthy-custom.scm
/usr/share/uim/anthy-utf8.scm
/usr/share/uim/anthy.scm

uim anthy

Debian arm(Rasbian 等)にはMozc が無いのでAnthy を使う.

$ sudo apt-get install uim-fep uim-anthy

後はuim-mozc と同じ

ibus mozc

多分以下の辺りで行ける.

画像閲覧

fbi.jpg

$ sudo apt-get install fbi
$ fbi hoge.JPG
$ fbi -a -t 20 -u ./*.JPG

-a : 全画面表示
-t : 次の画像を表示するまでの時間(秒)
-u : ランダム表示
※fbterm 内では起動できないぽい

ioctl VT_GETSTATE: 無効な引数です (not a linux console?)

動画閲覧

vlc やmplayer で普通に再生できる.

※fbterm 内では不可

マウスで文字列のコピー&ペースト

fbterm 内で利用できる

$ sudo apt-get install gpm

自動的にdaemon が起動する。文字列を選択して中key で貼付けできる。

keymap 変更

keymap が無かったら

$ sudo apt-get install console-data

日本語キーボードレイアウトに変更

$ sudo loadkeys jp106
Loading /usr/share/keymaps/i386/qwerty/jp106.kmap.gz

英語キーボードにレイアウト変更

$ sudo loadkeys us
Loading /usr/share/keymaps/i386/qwerty/us.kmap.gz

loadkeys は一時的に変更。 恒久的に変更する場合は

$ sudo dpkg-reconfigure console-data

うまく行かない場合は /etc/console/boottime.kmap.gz を置き換える
日本語キーボードレイアウトに変更

$ cp -p /usr/share/keymaps/i386/qwerty/jp106.kmap.gz /etc/console/boottime.kmap.gz

英語キーボードレイアウトに変更

$ cp -p /usr/share/keymaps/i386/qwerty/us.kmap.gz /etc/console/boottime.kmap.gz

フレームバッファのスクリーンショット取得

$ cp /dev/fb0 fb.raw
$ $ convert -depth 8 -size 1440x900 rgb:./fb.raw -swap 0,2 -combine fb.png

とかやって変換うまく行かないとかやってたけど

$ fbgrab -d /dev/fb0 fb.png

でいける。 スクリーンショットを取りたい端末とは別の端末でsleep 付きで起動して切り替えるといい.

例えば tty1 のスクリーンショットを取りたい場合 Alt + F2 で tty2 に移動して

$ sleep 5; fbgrab -d /dev/fb0 fb.png

と打った後 5秒以内に Alt + F1 でスクリーンショットを撮りたい tty1 に移動しておく.

フレームバッファの動画スクリーンショット取得

ffmpeg や avconv で

$ avconv -f fbdev -i /dev/fb0 fb.flv

pdf ファイルを読む

green を使う

  • 導入
    $ sudo apt-get install libpoppler-glib-dev libsdl1.2-dev
    $ git clone https://github.com/schandinat/green.git
    $ cd green
    $ make
  • 実行
    $ ./green --help
    Usage:
        green [<options>] <PDF file 1> [<PDF file 2> [...]]
    
    The following options are available:
        -config=<filename>          to read a configuration from a non-standard path
        -scheme=<identifier>        to use a different scheme than the default
        -fullscreen                 to startup in fullscreen mode
        -no-fullscreen              to startup in window mode
        -width=<width>              to specify the window width (in pixels)
        -height=<height>            to specify the window height (in pixels)
        -help                       shows this help
        -version                    displays version information
    
    Further help is available online:
        http://wiki.github.com/schandinat/green/help
    
    $ green file.pdf
  • green の操作
    • 次のドキュメント : Tab
    • Fnn にドキュメントが割り当てられているのでFnn でドキュメント切り替えが可能
    • 終了 : q
    • スクロール : 矢印キー
    • 指定ページへの移動 : pページ番号
    • ズームイン : +
    • ズームアウト : -
    • フィットモード解除 : fn
    • 横幅に合わせる : fw
    • 縦に合わせる : fh
    • ページに合わせる : fp
    • 検索 : s検索文字列
    • 次の検索結果 : n
    • ドキュメントを閉じる : c

Error: Expected the default config, but wasn't able to find it, or it isn't a Dictionary

fbterm 内では起動しないぽい?

$ green *.pdf                                 
Error: Expected the default config, but wasn't able to find it, or it isn't a Dictionary    

fbterm を抜けて実行すればok

SDL Init error:Unable to open mouse.

$ green *.pdf
SDL Init error:Unable to open mouse. 

とりあえずマウスを使わないように指定すると実行できる

$ SDL_NOMOUSE=1 green *.pdf

Twitter

  • p-e-w/krill Twitter, RSS, Atom, CDF ををソースに読み込んで指定したフィルタに掛けた結果を表示できる.
    $ sudo pip install krill
    $ krill -s http://matoken.org/blog/feed/ -s "http://hpv.cc/~maty/pukiwiki1/index.php?cmd=rss&ver=1.0" -s http://twitter.com/matoken

IRC

Irssi

  • 導入
    $ sudo apt install irssi
  • 起動
    $ irssi
  • nick の変更
     [(status)] /nick matoken
  • サーバーの追加
    [(status)] /server add -auto -network freenode irc.freenode.net 6667
    \-auto を付けると自動接続になる
    [(status)] /server add -ssl -network freenode-ssl irc.freenode.net 7000
    \-ssl を付けるとSSL 接続になる
  • サーバーへの接続
    [(status)] /connect freenode
  • チャンネルの追加
    [(status)] /channel add -auto #チャンネル名 freenode
    \-auto を付けると自動接続になる
  • チャンネルへの接続
    [(status)] /join #チャンネル名
  • 設定の保存
    [(status)] /save

    /.irssi/config に保存される.

  • ログの保存
    [(status)] /set autolog_path ~/.irssi/
  • 設定の再読み込み

    /.irssi/config をを手で書き換えたあとに反映するなどする場合

    [(status)] /reload
  • 終了
    [(status)] /quit
  • help
    [(status)] /help
    19:01 Irssi commands:
    19:01 accept     die         knock    notice    sconnect   unquery   
    19:01 action     disconnect  knockout notify    script     unsilence 
    19:01 admin      echo        lastlog  op        scrollback upgrade   
    19:01 alias      eval        layout   oper      server     uptime    
    19:01 away       exec        links    part      set        userhost  
    19:01 ban        flushbuffer list     ping      sethost    ver       
    19:01 beep       foreach     load     query     silence    version   
    19:01 bind       format      log      quit      squit      voice     
    19:01 cat        hash        lusers   quote     stats      wait      
    19:01 cd         help        map      rawlog    statusbar  wall      
    19:01 channel    hilight     me       recode    time       wallops   
    19:01 clear      ignore      mircdcc  reconnect toggle     who       
    19:01 completion info        mode     redraw    topic      whois     
    19:01 connect    invite      motd     rehash    trace      whowas    
    19:01 ctcp       ircnet      msg      reload    ts         window    
    19:01 cycle      ison        names    resize    unalias    
    19:01 dcc        join        nctcp    restart   unban      
    19:01 dehilight  kick        netsplit rmreconns unignore   
    19:01 deop       kickban     network  rmrejoins unload     
    19:01 devoice    kill        nick     save      unnotify
    • コマンドのヘルプ
      [(status)] /help nick

VNC

directvnc

検証中……

Web ブラウジング

Google+ を見る方法(20150720)

w3m でモバイル版Google+ が見られなくなっていた. https://m.google.com/app/basic/stream

2014/08/11 にはダメだったよう. https://plus.google.com/u/0/+KenichiroMATOHARA/posts/VJKqaJ9BhHu

Chromium でモバイル版のURL にアクセスすると表示されるのでページ自体は残っている. w3m でUA を書き換えたらアクセスできるのでは?

規定値はこんな感じ

% w3m -dump http://ifconfig.me/ua 
w3m/0.5.3+git20150623

`-header` option で行けるかと思ったけどヘッダが増えるけど頭の方を解釈するようでダメ

% w3m -header 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36' -dump http://ifconfig.me/ua 
w3m/0.5.3+git20150623, Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

設定ファイルにUA を追記して

% echo 'user_agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36' >>  ~/.w3m/config

行けた

% w3m https://m.google.com/app/basic/stream

https://plus.google.com/u/0/+KenichiroMATOHARA/posts/PwcKxTyeidd?pid=6173344868526263970&oid=103792214056489833385

このままだと何時も UA 偽装になってしまうので, 設定ファイルを別に用意したり,

% w3m -config ~/.w3m/config-G+ https://m.google.com/app/basic/stream

オプション指定でGoogle+ アクセス時だけにしたほうが良いかも

% w3m -o user_agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36' https://m.google.com/app/basic/stream

(自動切り替えができると良いのだけど)

仮想端末の数を増やす減らす

/etc/inittab の以下の部分を増やす減らす.

l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6

GNU Screen や Tmux などのターミナルマルチプレクサを使えば 2枚くらいあれば十分な気も
必要ない端末を減らすと多少リソースが開放される.

systemd の場合

基本的に1枚しか起動しない.Alt + F2 などで端末を移動しようとした時に自動的に起動される.
自動起動させたい場合は以下のようにする.以下はtty9 が自動起動する例.

$ sudo systemctl enable getty@tty9

or

$ sudo ln -sf /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty9.service

自動起動をやめる場合は

$ sudo systemctl disable getty@tty9

or

$ sudo rm /etc/systemd/system/getty.target.wants/getty@tty9.service

コマンドから手動で起動する場合は

$ sudo systemctl start getty@tty9.service

停止は

$ sudo systemctl stop getty@tty9.service

自分自身も停止できるので注意

参考URL



spam 避けですcheck を付けて下さい

添付ファイル: fileout2.jpg 425件 [詳細] filefbi.jpg 953件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-07-20 (月) 06:36:51 (645d)