行き当たりばったり
2015年4月18日

Ubuntu標準のPDFビューアEvinceで、日本語のフォントが表示されなかったり、文字化けしたりしていた。
poppler-dataをインストールしたり、fonts.confファイルを作成してみたが、正常に表示されない。
Evinceを諦めてOkular、Xpdf、ePDFviewer、qpdfviewなど試してみたが、やはり駄目。

日本語フォントが文字化けするのは、該当のPDFファイルに日本語フォントが埋め込まれていないのが原因のようだ。
それでも代替フォントがちゃんと利用されていれば正常に表示されるのだと思うが、その設定が上手く行かない。

FirefoxまたはLibreOffice Drawならちゃんと表示されるが、PDFビューアとしての使い勝手は良くない。

そこで、Windowsで使っていたPDF-XChange Viewer(無料体験版)をWineでインストールしたら、文字化け無しにちゃんと表示された。
無料版でも多機能だし、けっこう便利だ。
初回起動時には少々もたつくが、デフォルトで使うのではなく文字化けした時の緊急用として使う分には、申し分無い。

表示   このエントリーをはてなブックマークに追加
2015年4月17日

Wineでアプリケーションをインストールしようとしたら、豆腐状態に文字化けしていた。
どうやらMSフォントが入っていないためらしい。
Wine - ArchWiki

Windowsのパーティションを/mnt/win7にマウントしていたので、 シンボリックリンクを張り、fontconfig のキャッシュを再生成した。

1
2
$ sudo ln -s /mnt/win7/Windows/Fonts /usr/share/fonts/WindowsFonts
$ sudo fc-cache

MS フォント - ArchWiki

Wineの文字化けは直ったが、今度はRetextやxfce4-terminalでのフォントがおかしくなってしまった。
明朝体のようになり、文字が薄く、また「、」や「。」が中央の高さに表示されてしまう。

シンボリックリンクを削除し、/usr/share/fonts/(もしくは~/.local/share/fonts/)にWindowsFontsフォルダを作成。
Windowsからmsgothic.ttcのみをコピーしたら良い具合になった。

表示   このエントリーをはてなブックマークに追加
2015年4月16日

rmコマンドでファイルを消去してもデータの内容自体はディスク上に残っており、復旧できる可能性があるようだ。
完全に消去するにはshredコマンドを使えばいいらしい。
Linuxコマンド集 - 【shred】ファイルを上書きし、完全に消去する:ITpro

1
$ shred -u sample

コマンドを入力するのは面倒なので、nemoの右クリックメニューに「完全消去」を追加した。

~/.local/share/nemo/actions/内にshred.nemo_actionファイルを作成。

shred.nemo_action
1
2
3
4
5
6
7
8
9
10
[Nemo Action]
Name=Shred files
Name[ja]=完全消去
Comment=Shred the selected files
Exec=shred -u -n 1 %F
Icon-Name=gtk-execute
Selection=notnone
Extensions=nodirs;
Quote=double
Dependencies=shred

(参照記事)
[Feature Request] wipe files · Issue #210 · linuxmint/nemo · GitHub

対象はファイルのみでフォルダは「完全消去」出来ないが、少し便利になった。

ーー
(追記)
他の右クリックアクションを選択したい時、間違って「完全消去」してしまわないか気になって来た。
Zenityを使えば「本当に削除しますか?」のような確認ダイアログを表示出来るようだが、Zenityの使用法がまだ分からない。

「完全消去」の右クリックメニューは一旦保留とし、shred -uを辞書登録するにとどめた。

表示   このエントリーをはてなブックマークに追加
2015年4月5日

Puppy Linux起動時にパーティションを自動マウントしたかったのだが、少々苦戦した。

LxPup 15.02

LxPupでは、あらかじめマウントポイントとなるデレクトリを作成さえしておけば、fstabでの指定通りに自動マウント可能だった。
Xubuntu等では確か、デレクトリが無ければ自動生成してくれていたと思うので、うっかりしていた。

fstab
1
2
/dev/sda1 /mnt/win ntfs defaults 0 0
/dev/sda5 /mnt/sda5 ext4 defaults 0 0

ntfsに−3gをつけなくても大丈夫だった。

Puppy Linux Precise 571 JP

Precise571JPは、デフォルト状態ではfstabが機能していなかった。
/etc/rc.d/rc.localファイルでmount -aコマンドを実行することで、fstabをロードしてくれた。
やぎやぎブログ:[Fedora 16]rc.localの罠 - livedoor Blog(ブログ)

rc.local
1
2
3
#!/bin/sh
mount -a

rc.localは実行可能にしておく必要がある。

# chmod a+x /etc/rc.d/rc.local

/etc内にリンクを作成する必要は無かった。

LxPupではmount -aは/etc/rc.d/rc.sysinitに記載されているようで、こちらに記載しても自動マウント可能。

rc.sysinitの316行目「VERSION UPDATE」のすぐ上に記載。

rc.sysinit
1
2
3
4
5
6
7
8
...
status_func $STATUS
#Load fstab entries
mount -a
#######################VERSION UPDATE##########################
...

マウントポイントとなるデレクトリをあらかじめ作成しておかないといけないのは同様。

fstabを用いずに自動マウント

なお、fstabを用いず、/etc/rc.d/rc.localで個別にマウント指定しても自動マウント可能だった。
Puppy Linux Discussion Forum :: View topic - How to auto-mount drives at startup?

rc.local
1
2
3
4
#!/bin/sh
mount -t ntfs -o defaults /dev/sda2 /mnt/vol
mount -o defaults /dev/sda5 /mnt/sda5
表示   このエントリーをはてなブックマークに追加
2015年4月3日

nemoの拡張機能nemo-compareのインストールが上手く行かなかったので、手動で導入した。

(参照記事)
Nemo - ArchWiki

まず、meld、python2-dbus、dbus-glib(これは導入済みだった)をインストール。

$ sudo pacman -S meld python2-dbus

~/.local/share/nemo/actions下にcompare-save-for-later.nemo_action、compare-with-saved.nemo_action、compare.shの3つのファイルを作成。

compare-save-for-later.nemo_action
1
2
3
4
5
6
7
8
9
[Nemo Action]
Active=true
Name=Compare later
Name[ja]=あとで比較する
Comment=Save file for comparison later.
Exec=
Icon-Name=meld
Selection=S
Extensions=any
compare-with-saved.nemo_action
1
2
3
4
5
6
7
8
9
[Nemo Action]
Active=true
Name=Compare with saved element
Name[ja]=比較する
Comment=Compare %F saved file or directory.
Exec=
Icon-Name=meld
Selection=S
Extensions=any
compare.sh
1
2
3
4
5
6
7
8
#!/bin/bash
savedfile=/var/tmp/compare-save-for-later.$USER
comparator=meld
if [ "$1" == "save" ]; then
echo "$2" > "$savedfile"
else
"$comparator" $(cat "$savedfile") "$2"
fi

compare.shはファイルマネージャーもしくはコマンドで実行可能にしておく。

$ chmod +x compare.sh

nemoの右クリックメニューに「比較する」「あとで比較する」が追加された。

ファイル内容だけではなくフォルダの内容も比較出来る。
なにかと重宝しそうだ。

表示   このエントリーをはてなブックマークに追加
2015年4月3日

nemoの右クリックで2つのファイル(フォルダ)の内容を比較出来るnemo-compareをインストールした。
yaourtでインストール出来たが、右クリックのメニューに「compare」が出てこない。
検索すると同様の事例が見つかった。

nemo-compare not in the right-click context menu · Issue #24 · linuxmint/nemo-extensions · GitHub

Symbolic link needed in LMDE 64-bit · Issue #18 · linuxmint/nemo-extensions · GitHub

上記トピックを参考にnemoを再起動してみると、確かにシンボリックリンクが存在しないのが原因のようだった。

$ nemo -q && nemo

(nemo:6939): Nemo-Python-WARNING **: g_module_open libpython failed: /usr/lib/i386-linux-gnu//libpython2.7.so.1.0: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
ImportError: could not import gobject (error was: '/usr/lib/python2.7/site-packages/gi/_gi.so: undefined symbol: _Py_ZeroStruct')

(nemo:6939): Nemo-Python-WARNING **: pygobject initialization failed

だが、これを修正するリンクの作成が上手く行かない。
共有オブジェクトファイルのパスでスラッシュが2つ重なり//となっている箇所があるのも奇妙。
yaourtでのビルド中、”/usr/lib/yaourt/util.sh: 行 197: PKGBUILD: コマンドが見つかりません”と表示されていたのが関係しているのだろうか。

ArchWikiによると、右クリックメニューに「比較する」を追加するのは手動でも可能のようだったので、nemo-compareは断念し、手動で導入することにした。

nemoの右クリックメニューに「比較」を追加

表示   このエントリーをはてなブックマークに追加
2015年4月3日

Arch Linuxにインストールしたnemoで右クリックメニューの「端末で開く」が機能しなかった。

Nemo - ArchWikiを参考に、

$ gsettings set org.cinnamon.desktop.default-applications.terminal exec xfce4-terminal

を実行したら機能するようになった。

「端末で開く」で起動するターミナルエミュレーターを変更したい時も同様に端末名を指定すれば良いようだ。

表示   このエントリーをはてなブックマークに追加
2015年4月2日

iBusのプロパティパネル採用以降、iBusをやめて日本語入力にfcitx-mozcを使っている。

Xubuntuでは特に問題無く使えていたが、Arch LinuxでQtベースのプログラムを使用する際、日本語入力が有効にならず困っていた。
「QupZilla」(Simplenote専用にするのにうってつけの軽量ブラウザ)や「ReText」(プレビューが出来て便利なmarkdownファイルエディター)など、日本語入力が出来ないと不便。

モジュールのfcitx-qt4、fcitx-qt5はインストールしたが、何故かインプットメソッドがオンにならない。
fcitx-configtool(Qt 設定ツール)で、デフォルトのインプットメソッドをfcitxに変更したが、効果が無い。

fcitx-diagnoseを実行してフロントエンド設定の項目を確認すると、空欄だったり「設定されていません」という表示だったりする。
XMODIFIERSとQT_IM_MODULEがちゃんとロードされていないらしい。

ホームディレクトリに.xprofileを新規作成し、下記内容で保存。
(ディスプレイマネージャにSLiMを使っている場合は、~/.xprofileではなく~/.xinitrcに記載するらしい)

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

再起動したら、QupZilla、ReTextともに日本語入力が可能になった。

再度fcitx-diagnoseで見てみると、「環境変数 XMODIFIERS は “{$2}” に正しく設定されています。」「環境変数 QT_IM_MODULE は “{$2}” に正しく設定されています。」となっていた。

fcitx-configtoolのデフォルトのインプットメソッドはximのままでも問題無いようだった。

(参照記事)
Fcitx - ArchWiki

表示   このエントリーをはてなブックマークに追加
2015年4月1日

Xfce4の設定で「外観」(appearance)→「フォント」のデフォルトフォントをFixedにしたら、クラッシュして、パネルが消えてしまった。
デスクトップ上右クリック→アプリケーションから再び「外観」を呼び出そうとしても、一瞬現れて瞬時に消えてしまう。設定マネージャーも起動せず。
「設定」→「パネル」でパネルは「キオスクモード」とかでなんとか立ち上げることが出来たが、これもファイルマネージャーを開くと消えてしまう。

Firefoxで「システムフォント」等を検索したが、/etc/fonts/conf.d内のファイルにはそれらしい記述は見当たらず。
「外観」のデフォルトフォントはシステムフォントとは別物らしい。

GTK+ - ArchWikiを見て、~/.gtkrc-2.0を探したが、そんなファイルは無い。
自作してみたが効果なし。

ホームディレクトリ内を探しまわって、ようやく~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xmlに記述を見つけた。

  <property name="Gtk" type="empty">
    ...
    <property name="FontName" type="string" value="Fixed Medium 10"/>
    ...

「Fixed」を「Droid Sans」に変更。
再起動すると無事復旧した。

デスクトップ上右クリックからアプリケーションを起動出来るXfce4で助かった。

表示   このエントリーをはてなブックマークに追加
2015年4月1日

Arch Linuxでのフォントが汚く見づらかったので、フォントレンダリング「Infinality」(Infinality - ArchWiki)をインストールした。

途中、

Unable to update the static FcBlanks: 0x0600
Unable to update the static FcBlanks: 0x0601
Unable to update the static FcBlanks: 0x0602
…

というエラーが出たが、下記トピックを参考に、sudo pacman -S fontconfig-infinality-ultimateの際、fontconfig-iu-compを削除した。
[SOLVED] Font cache: Unable to update the static FcBlanks / Newbie Corner / Arch Linux Forums

首尾よくフォントが綺麗になったのだが、その後一部の漢字フォントが縦に細く潰れたようになってしまった。
(もしかすると、気づいたのが最近だっただけで、以前から潰れたフォントがあったのかもしれない。)

フォントレンダリングをUbuntuのものに変えようかとも思ったが、ArchWikiに記載のあったibfonts-meta-extendedをインストールしたら治った。
IPA Pゴシックなどでは、依然、一部漢字フォントが潰れているが。

どうしても具合が悪いようだったら、Ubuntuのフォントレンダリングに変更してみようと思う。

表示   このエントリーをはてなブックマークに追加