BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

uim + Anthyのカスタマイズ (Arch Linux)

ども、BobbyQuineです。今回は前回あたりにCLIで日本語使うために入れたuimAnthyのカスタマイズをしていきます。実はあの記事を書き終わったあと再起動を行ったところ、xfce上でもuimが起動してしまいfcitx+mozcが使えなくなってしまいました。xfceを起動するときにuimを機動しないようにすればいいはずなのですがどうにもやり方を見つけることができておらず、とりあえずはuim+Anthyで生活しなければならなくなったわけです。そこでAnthyuimをカスタムしようということで。

 

uimのカスタム

前回、少し書きましたが~/.uimuimの設定が記述できる。どうやらこの設定ファイルはSchemeというプログラミング言語で書かれているようである。正直Schemeについての知識はないのでぼんやりとしか分からないが結構おもしろそうな言語である。さてとりあえずこのuimは余計な子音が排除されるように設定されている。個人的にはこれは好ましくない。そこでまずはここのコードを丸コピして~/.uimに追加した。

https://wiki.archlinux.jp/index.php/Uim_%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E5%85%A5%E5%8A%9B#.E5.85.A8.E8.A7.92.E3.83.A2.E3.83.BC.E3.83.89.E3.81.A7.E5.AD.90.E9.9F.B3.E3.82.92.E5.85.A5.E5.8A.9B.E3.81.A7.E3.81.8D.E3.81.BE.E3.81.9B.E3.82.93

これで子音は残るようになったが、たとえば「あrch」と打った場合にcとhが残ってくれない。どうにも2つの子音+母音を使ってひらがなを入力するパターン(たとえば子の場合はc+h+iで「ち」となるような)の子音二つはその後に子音が着てしまうと消えてしまうようである。この辺どうしようかと考えていたところ、こんな記事を見つけた。

http://d.hatena.ne.jp/mkotha/20100913/1284387994

 

ここにあるコードをさらに追加してみたところ、子音は打てるようになったが先ほどの例のような箇所だけ全角英字となってしまった。何か気持ち悪いのに加えて個人的に全角英字は嫌いなのでこれを半角のものに変えたいと考えた。Schemeについての知識はほぼないに等しかったので適当に同じようなことやろうとしているサイトなんかをみてちょっと分かった気になりながら弄るべき該当箇所を探したところここっぽい

 

以下上記サイトにあるコードから引用-------------------------------------------------------------------

 

(define (fullwidth str)
(let ((w-str (ja-wide str)))
(list w-str w-str str)))

 

-------------------------------------------------------------------------------------------------------------------------

 

これの三行目"(list w-str w-str str)))"を弄ればとりあえずは動くものが作れそうだということでここを

(list str str str)))

と変えてみた。すると期待通りの動きになったのでこれでよし。ただ一ヶ所、なぜか「thy」という文字列は変な挙動をするのでそのうち何とかしたい。まぁ、あんまし使う時ないし放置で。気が向いたらやる。

 

Anthyに個人的辞書を追加する

ざっとググってみるとどうやらkasumiというGUIツールがあるらしい。そこでとりまそれをいれてみたがやっぱわざわざカーソルを移動させるのが面倒くさい。で、だ。kasumiについてもうちょいと調べてみると " ~/.anthy/private_words_default " というファイルに平文で辞書が追加されて行っているようである。さらにAnthyの辞書はこの中身が50音順に並んでいなければならないようである。それをふまえて適当にシェルスクリプトを書いた。

 

anthydictionary.sh  ----------------------------------------------------------------------------------------------

 

#!/bin/bash

export LANG=ja_JP.utf8
echo -n "spelling: "
read spel
echo -n "sound: "
read sou

echo "$sou #T35*500 $spel" >> ~/.anthy/private_words_default

mkdir /tmp/foranthy
sort ~/.anthy/private_words_default >> /tmp/foranthy/private_words_default
mv /tmp/foranthy/private_words_default ~/.anthy/
rm -r /tmp/foranthy

 

-------------------------------------------------------------------------------------------------------------------------

 

ここでわざわざexport LANG=ja_JP.utf8としているのは環境がこれじゃないとsortコマンドでの処理が適切に行われないためである。あとはまぁ自分で文章打ってて変換につまった箇所があったらその都度このスクリプトで追加している。なおkasumiについての解説はどっかで適当に読んでください。

 

以上、ざっと備忘録でした。

Arch Linux のコンソールでも日本語が使いたい件 (fbterm+uim+Anthy)

ども、BobbyQuineです。さて、今回はこの前Gentoo Linuxでも構築したような感じにArch Linuxのコンソール上でも(Xを起動しなくても)日本語を使える様にしてみようと思います。

 

fbtermのインストール

今回はjfbtermではなく結構最近までアプデされていたfbtermをインストールします。

fbtermはjfbtermと同じようにフレームバッファを使った仮想コンソールみたいなもんです。これは様々な言語の表示に対応しています。

fbtermは公式リポジトリには存在しません。なのでAURから入れます。まずはこの前作った " ~/AUR/ "に下記のURLからfbtermのスナップショットをダウンロードする。

https://aur.archlinux.org/packages/fbterm-git/

また、私の環境ではまだgitパッケージを入れていなかったのでここで入れておく。

 

$ sudo pacman -S git

 

そして

 

$ cd ~/AUR

$ ter zxvf fbterm-git.tar.gz

$ cd fbterm-git

$ makepkg -s

$ sudo pacman -U fbterm-git-20150509-3-x86_64.pkg.tar.xz

 

でおっけ。pacman のときの対象は自分のものに読み替えてね。

ただコレだけだと一般ユーザーで使えないので

 

$ sudo gpasswd -a video

 

とユーザーをvideoグループに追加しとく。

 

Anthyのインストール

 

$ sudo pacman -S anthy

 

uimのインストール

さて最後にuimのインストールですが、下記のURLを見るとバイナリパッケージにはqtを使ったgui用の設定ツールなんかも含まれているようです。当方Xではfcitx+mozcと決めているのでこいつはどーにも気に食わない。なのでABSを使ってビルドスクリプトをダウンロードし、ちょいと書き換えてgui用のものを排除してしまおうと思う。

https://wiki.archlinux.jp/index.php/Uim_%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E5%85%A5%E5%8A%9B

 

なお、参考文献はこちら

http://note.kurodigi.com/archlinux-abs/

 

まずはビルドスクリプトをダウンロードしてくる。

 

$ cd ~

$ mkdir ABS

$ cd ABS

$ mkdir uim

$ cd uim

$ yaourt -G uim

 

$ vim PKGBUILD

 

適当にqtとかgtkとかって書かれてんのを全部消してついでに

group=('modified')

と一行追記する。この一行はpacmanコマンドでアプデを行った際に勝手にバイナリパッケージと置き換えられるのを防ぐ狙い。

 

また、自分でビルドしたことを忘れないようにマーキングするための設定をしておく。斜体の部分はお好きなように。

 

$ sudo vim /etc/makepkg.conf

PACKAGER="Quine "

 

んであとは

# makepkg -s

# sudo pacman -U uim-1.8.6-7-x86_64.pkg.tar.xz

 

さて、これでuimのインストールは終わった。あとはuimのセッティング。

 

# vim ~/.uim

(define default-im-name 'anthy)

(define-key generic-on-key? '("<Control> "))

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

 

とまぁこんな感じで<Ctrl>+<Space>でAnthyのオンオフが切り替えられるようになった。

 

これらを使うときは

$ fbterm

$ uim-fep

 

でおっけ。以上。

Arch LinuxでYaourtを使えるようにする

ども、BobbyQuineです。Arch LinuxにはAURという非公式リポジトリがある。こいつは別にYaourtがなくても使えるのだがダウンロードしてパッケージをmakeしてインストールするというふうに手間がかかる。それらを自動化してくれるのがYaourtである。

ここでは初めてAURを使う前提で書いていく。

 

base-develパッケージグループのインストール

私の環境では「最新だよ」って出てつまりすでにインストールされていたけど一応。

 

$ sudo pacman -S --needed base-devel

 

package-queryのインストール

このパッケージはPacmanにはなく、AURからインストールする。

まずはPKGBUILDを置くためのディレクトリを作る。

$ mkdir ~/AUR

$ cd ~/AUR

 

つぎにこのページで「スナップショットのダウンロード」をクリックして作ったディレクトリにスナップショットをダウンロードする。

https://aur.archlinux.org/packages/package-query/

 

そしたらまたTerminalに戻り、ダウンロードした圧縮ファイルを解凍する。そしてできたディレクトリに入る。

 

$ tar zxvf package-query.tar.gz

$ cd package-query

 

んでパッケージをmakeしてからインストールする。

 

$ makepkg -s

$ sudo pacman -U package-query*.pkg.tar.xz

 

このとき~.pkg.tar.xzの名前はときによって違うので各自確認。

 

Yaourtのインストール

https://aur.archlinux.org/packages/yaourt/

これはこのURLからダウンロードして先程同様に処理する。

これで使えるようになる。

 

なお、基本的なYaourtの使い方はPacmanと変わらない。ただし、管理者権限ではなく一般ユーザーで実行すること。以上

Arch Linux のコンソール上のフォントとキーマップの設定

ども、BobbyQuineです。どうやらCyr-sun16ってフォントはキリル文字をサポートしているようなのでそいつに変えてついでにキーマップもカスタマイズしようと思います。

 

ru_RU.utf8を有効にする。

 

# vim /etc/locale.gen

ru_RU.UTF-8 UTF-8コメントアウトを外す。

 

# locale-gen

 

フォントの設定

使えるフォントは " /usr/share/kbd/consolefonts/ " を見ればわかる。

 

設定するには

 

# vim /etc/vconsole.conf

FONT=cyr-sun16

 

キーボードの設定

キーマップはコンソール環境とX環境では別の設定方法が使われているようです。これはコンソール用のキーマップの設定方法です。ここでは前回個人的に作成したru106.map.gzってキーマップファイルを使っていきます。こいつについてはそのうちどっかで公開します。IPFSで配布とかでも面白いかな。

 

とりあえず " ru106.map.gz " を " /usr/share/kbd/keymaps/i386/qwerty/ " にコピーします。

 

# cp ru106.map.gz /usr/share/kbd/keymaps/i386/qwerty/

 

仮にここで自分で作成したオリジナルキーマップを用いる場合は一度

 

# loadkeys ru106

 

としてファイル内の記述に間違いがないことを確認してください。

あとはコレを永続的に設定するために

 

# vim /etc/vconsole.conf

KEYMAP=ru106

 

以上。

Gentoo Linuxのコンソール上でもpdfを確認したいんじゃぁぁぁぁ

ども、BobbyQuineです。ひっさしぶりの更新。まぁ裏では色々と細々やってたわけでそれについては適当に " メモ帳 " タグで記事公開しといた。そのうち成書(?)する。(かも)。

 

で、だ。本題に移ると画像や動画はCLIで閲覧できた。Webサイトも文字だけならjfbterm & w3mなんかでなんとかなる。ここで学生である私はレポート何かを書くわけだがLatexを使っているので作成そのものにGUIはいらない。問題は完成したレポートの確認である。せっかくだからコレもCLIで済ませられないだろうかと思いやってみた。

 

pdfを画像化する

最初はpdfを直接fbに書き出すソフト探したんだけどまぁ探すのがめんどくなった。

そこで「画像が見られるんならpdfを画像にしちゃえば良いじゃない!!」というわけでpopplerパッケージに入ってるpdftoppmを使うことに

 

# emerge --ask --verbose app-text/poppler

 

インストールする直前にはUSEフラグにtiffを追加した、

使い方は

 

$ pdftoppm report.pdf test

 

こうするとtest-01.ppm、test-02.ppm、…の様にpdfのページ数分だけ画像ファイルができる。

 

画像の表示

Archのときにも紹介してるので適当に書いとく。

USEフラグにfbconを追加してから

 

 

# emerge --ask --verbose media-gfx/fbida

 

実行は

 

$ fbi imagefile

 

シェルスクリプト書いといた

で、だ。コレだと作った画像ファイルが散乱するし手間だしめんどくさい。なのでシェルスクリプト書いとく。

 

$ vim fbpdfview.sh

以下内容-----------------------------------------------------------------------------------------------------------------

#!/bin/bash

mkdir /tmp/fbpdfview

pdftoppm $1 /tmp/fbpdfview/page

fbi -a /tmp/fbpdfview/page*

rm -r /tmp/fbpdfview

以上-----------------------------------------------------------------------------------------------------------------------

 

我ながらクッソ雑な解決の仕方だよなぁ。とりま、以上。

TOUGH BOOK CF-18 Gentoo Linux の個人的環境設定

コレはあくまで個人的備忘録です。試すなら自己責任で。

 

jfbterm

コンソールで日本語とかロシア語を使いたいのでとりあえず表示用に

 

# emerge --ask --verbose app-i18n/jfbterm

 

使うときは

$ jfbterm -q

 

fbida

Xを立ち上げない状態でコンソール上で画像が見たい。

 

# vim /etc/portage/make.conf

 

USE変数に " fbcon " を追加

 

# emerge --ask --verbose fbida

 

使うときは

 

$ fbi imagefile

 

fbgrab

CLI環境でスクショが撮りたかったので入れた。なお、通常のCLIだと撮れない。原因は不明。とりまjfbtermのは撮れるのでそれで良し。

 

# emerge --ask --verbose media-gfx/fbgrab

 

使うときは

$ fbgrab -s2 imagename.png

 

-s2は2秒後というオプション。png形式オンリーっぽい。

 

コンソールのlocaleをロシア語にする。

jfbtermを起動せずともロシア語であればコンソール用フォントがあったのでやってみた。また、ruキーボードを使っても良かったのだがそれだと各記号の配置が違うので使いづらい。そのため、キリル文字を打つのにruキーボードのAltGrを押していない状態をjp106配列に変えた独自キーマップを作成した。このとき、Caps Lockが鬱陶しいのでAltGrに変えてしまった。

 

参考ページ

https://wiki.gentoo.org/wiki/Keyboard_layout_switching

http://www.oldnix.org/rus-gentoo-linux/

 

まず、コンソールでUnicodeが使えるようにしておく。私の環境ではすでになっていた。

 

# vim /etc/rc.conf

unicode="YES"

 

 

次にコンソールのlocaleをru_RU.utf8にする。まぁこれは適当にインストール時の記事でも参考にして。

http://bobbyquine.hatenablog.com/entry/2018/02/28/143630

 

コンソールフォントをキリル文字対応のものにする。

 

# vim /etc/conf.d/consolefont

consolefont="cry-sun16"

 

このとき、元のフォントがわからなくなるのが嫌なので元のconsolefont=の行はコメントアウト化しとくのをおすすめする。

また、このconsolefontとして選択できるものは " /usr/share/consolefonts/ " の中を確認すればわかる。これ、日本語対応のフォントねぇのかな?

 

さて今度はキーマップ。

 

# vim /etc/conf.d/keymaps

keymap="ru"

 

ここで独自キーマップがいい人は適当にexample.map.gzってファイル作ってそれを " /usr/share/keymaps/i386/qwerty/ " 下にでも持っていって、

 

keymap="example"

 

としてください。私が作成したキーマップについてはどっかで公開します。

で、あとはフォント、keymapがboot時に読み込まれるようにする。ただしここで書くのはinitシステムにOpenRCを使っている場合である。

 

# rc-update add keymaps boot

# rc-update add consolefont boot

 

あとは再起動でオッケ。

 

jfbterm上で日本語を打てるようにする

 

参考ページ

https://qiita.com/Pseudonym/items/9ff0e9028dfd6bad5958

https://wiki.gentoo.org/wiki/Localization/Guide/ja

 

日本語を扱うにはキーボードを打ったときに直で入力先に反映するかそれともローマ字として日本語に変換するソフトに出力するかを切り替えるスイッチのようなソフトウェアと、漢字等への変換をして返すソフトウェアが必要である。(この説明あってる??)

今回は前者にuim、後者にanthyを使ってやってみる。

 

USEフラグなんかは過去記事の状態を参考のこと。

 

まずはAnthyのインストール

 

# emerge --ask --verbose app-i18n/anthy

 

これが終わったらとりまUSEフラグにunicodeanthy、Xを追加しとく。また、効果があるかは知らんが一応 " L10N="ja" " とmake.confに追加しとく。

 

# vim /etc/portage/make.conf

 

そしたらuimを入れる。

 

# emerge --ask --verbose app-i18n/uim

 

んで最後に使うユーザーの~ディレクトリに.uimというファイルを作り

 

$ cd ~

$ vim .uim

(define default-im-name 'anthy)

(define-key generic-on-key? '("<Control> "))

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

 

って感じにしておく。これでuimのon/offが<Ctrl>+<Space>となった。

あとはjfbtermを起動してから

$ uim-fep

と実行すればuimが起動して日本語も打てる様になる。

 

この記事は完全にいつも以上にチラシの裏書きなので参考にするもしないもご勝手に。

そのうちそれぞれについて記事書くかもだけどとりあえず公開しとく。

コンソール上で動画を見る(Gentoo Linux)

ども、BobbyQuineです。何かしらXを立ち上げない状態で作業していたときになんの動画ファイルか判別がつかず、削除するか悩むときってありますよね。今回はそんなときに使える方法を紹介。環境はTOUGH BOOK + Gentoo Linuxでやっていきます。

 

やるなら自己責任で。

 

予めalsaやpulseaudioは導入済みのものとします。

 

参考ページ

http://troro.hatenablog.com/entry/2015/07/21/014426

 

USEフラグ

USEフラグに "fbcon" を追加しておきます。

 

# vim /etc/portage/make.conf

USE="fbcon"

 

# emerge --ask --changed-use --deep @world

 

Mplayerのインストール

# emerge --ask --verbose media-video/mplayer

 

使い方

# mplayer -quiet -framedrop -vo fbdev2 -xy 500 -zoom filename

 

-xyの項目は自分のディスプレイによって変えてください。まぁとりあえずの確認であれば適当にディスプレイの解像度を超えない範囲でやればいいでしょう。ちなみに超えるとなんも表示されない、最悪の場合フリズるかも。しかもこれ横方向なので縦長の動画だった場合とかも考えてください。

一応矢印キーでちょっと飛ばしたり巻き戻したり、スペースキーで一時停止/再生ができます。その他は適当に「Mplayerの使い方」とかでググってください。以上