トラブル:デスクトップにホームのディレクトリとファイルが表示される

あれこれ設定していたら、突如デスクトップにホーム(「~/」)のディレクトリとファイルがずらずらっと現れた。それらは、ホームのディレクトリとファイルの実体そのもののようなので、単純にデスクトップから削除するわけにもいかない様子。同様の事態に見舞われたときのためにざっと、経緯と解決策をメモ。

経緯

(以下、「ディレクトリ」=「フォルダ」=「フォルダー」)

それが起きたのは、「システム >設定 >ユーザー向け >自動起動するアプリ」の

「ユーザ・フォルダの更新」
(説明:標準フォルダの名前を現在の言語に合わせて更新します)

をオフにしたタイミングだったように思える(気づいたらこうなっていたので確証がない)。

初期状態でホームにあった日本語名のディレクトリ(「標準フォルダー」と呼ばれるようだ)は、じゃまなのですでに削除していた。その代わりに、「Desktop」というディレクトリがあった。「Desktop」がいつからあるのかは不明。

解決策

設定エディタ(gconf-editor)で以下を開く。

gconf-editor /apps/nautilus/preferences/desktop_is_home_dir

Nautilus がユーザのホーム・フォルダをデスクトップとして使用する
TRUE にすると、ユーザのホーム・フォルダをデスクトップとして利用します。FALSE の場合は、~/Desktop をデスクトップとして利用します

どうやらこの設定が鍵となっている模様。設定は、「FALSE」になっていた。が、あきらかに「TRUE」の動作をしている。

(設定エディタで「desktop」を検索して、この項目を発見)

「標準フォルダー」を初期状態に戻すため、Vine Linux 5 の FAQホームディレクトリに掘られているマルチバイトなディレクトリ名を ASCII なディレクトリ名へ変更したいに書いてあるコマンドを実行。

(先日通りすがりに見かけたこの解説のことをふと思い出した)

LANG=C xdg-user-dirs-gtk-update

これで、また「標準フォルダー」が作成される(このコマンドではディレクトリ名はアルファベットなる)。

ノーチラス(nautilus)を再起動。

killall nautilus

ノーチラスは勝手によみがえり再起動する(どうすれば、ノーチラスを止めることができるのかは以前からなぞのまま)。

元通り、デスクトップからアイコンがなくなっていた。

正確には、システムエディタの「/apps/nautilus/preferences/desktop_is_home_dir」

TRUE にすると、ユーザのホーム・フォルダをデスクトップとして利用します。FALSE の場合は、~/Desktop をデスクトップとして利用します

の「FALSE」の設定通りの挙動となり、「~/Desktop」以下が空なのでデスクトップのアイコンもなくなった。

最後に、先ほど作った「標準フォルダー」を再び削除(「~/Desktop」以外)。

削除しても大丈夫なのかどうかは不明。

(概ね、このようなことだったと思う)

関連記事:デスクトップのアイコンを削除する

andy

コマンドラインで音声再生:aplay/mpg321/ogg123

コマンドラインだけでなく、GUIのアプリケーションで音を鳴らすアクションが行える場合などにも対応(たとえば、gnubiffで新着メールを音で知らせたいときなど)。

「.wav」ファイルの再生

pulseaudioのせいか、playコマンドで.wavファイル(音声ファイル)を再生すると音が途切れる。pulseaudioの扱い方の追求は後回しにして対処法を考える。

playコマンドの動作確認。音が途切れ途切れ。

このコマンドで様子がおかしくなったら「ctrl+c」でコマンドを停止
play /usr/share/sounds/login.wav

alsa-utilsに含まれる)aplayなら問題なく再生できた。

aplay /usr/share/sounds/login.wav

リーナス・トーバルズにしゃべらせるなら、

aplay /usr/share/sounds/alsa/test.wav

gnubiffのデフォルトの「ぐえ〜」なら、

aplay /usr/share/gnubiff/coin.wav

「.mp3」ファイルの再生

「mpg321」コマンドを使う。ないならインストール。

mpg321 XXX.mp3

「.ogg」ファイルの再生

vorbis-tools」に含まれる「ogg123」を使う。

ogg123 XXX.mp3

以上、コマンドに音を含めたいときや、gnubiffで新着メールを音で知らせたいときなどGUIのアプリケーションで音を鳴らすアクション機能があるときは、「.wav」は「aplay」、「.mp3」は「mpg321」、「.ogg」は「ogg123」で行う。

Vineに入っている外にも、音の素材はネット上にいろいろあると思うが、それはまたいずれ探す。

aplayの音量調整

aplayのコマンドラインでの音量調整のやり方はわからなかった。

pulseaudioの設定でなら調整できた。

システム >設定 >ハードウェア >サウンド

で設定画面を開き、「アプリケーション」のタブを開いておいて、先述の下記のコマンドなどを打つと、音が鳴っている間apalyの音量調整ができるようになる(もう少しなんとかならんもんかと思うが、他の設定方法がわからず)。

aplay /usr/share/sounds/login.wav

音が短くて調整できない場合は、コマンドを「;」(セミコロン)で好きなだけつなげる。

aplay /usr/share/sounds/logout.wav ; aplay /usr/share/sounds/logout.wav

andy

ログイン画面の解像度も変更する

ログイン画面の文字が小さくて見にくいので解像度を変更する。

(以下、rootで)

■ Xの設定ファイルを開く

(例えばleafpadで)

leafpad /etc/X11/xorg.conf &

■ 任意の解像度を指定

解像度を「1024x768」にする場合、「xorg.conf」の末尾の「Section "Screen"」の中に、以下を追記。

Modes "1024x768"

設定例↓

Section "Screen"
  Identifier "Screen0"
  Device     "Videocard0"
  DefaultDepth     24
  SubSection "Display"
    Viewport   0 0
    Depth     24
    Modes    "1024x768"
  EndSubSection
EndSection

(それにしても、「xorg.conf」の初期設定のシンプルさはどういうことだろう。他の設定は、どこへ行ったのか)

ログイン後のデスクトップの解像度の変更は、
システム>設定>ハードウェア>ディスプレイ

andy

不要なサービスの停止

初期状態で様々なサービスが自動的に起動されているので、不要なサービスを止める。

不要なサービスを止めておくことで、リソースの無駄使いを減らし(メモリが大容量ならたいした意味はない)、セキュリティを高め(自宅でデスクトップ用途として個人使用しているだけならさほど気になることでもない)、ほんの少し起動も速くなる(そもそも起動が速い場合は差を体感できないだろう)。

よくわからなければやらなくてもよい。でもやっておいて損はない(設定を間違わなければ)。

サービスの設定

(以下、rootで)

Vine5の場合、GUIによるサービスの設定は、

システム >システム管理 >サービス

何が不要かは人それぞれ。必要なものを止めてしまうとトラブルが起こるので注意。「サービス」の設定画面にもそれぞれの説明が表示されるが、それを見てもなんのことだかわからないので、たとえば「サービスを停止する」や「不要なサービスを止める」などを参考にして考える。また「不要 サービス サービス名」などで検索して調べる。

止めてみたサービス

不要なサービスは環境によって違うので、下記の通りやっても普遍的に問題がないということではない。また、情報に間違いがあるかもしれない。

  • atd:コマンドの遅延実行を有効にするサービス
    (そんなことはしない)
  • avahi-daemon:プリンタネットワークなどローカルネットワーク関連?
    (いまいちよくわからないがひとまず不要そう)
  • avahi-dnsconfd:同じくローカルネットワーク関連?
    (いまいちよくわからないがひとまず不要そう)
  • cron:指定した時刻にジョブを実行するデーモン
    (システムが24時間稼動しているわけではないし、anacronも動いているので不要)
  • iscsiiSCSIに関するデーモン
    (デバイスiSCSI接続する予定はない)
  • iscsid:iSCSIに関するデーモン
    (デバイスiSCSI接続する予定はない)
  • mdmonitor:ソフトウェアRAID
    RAIDは組んでいない)
  • netfs:NFS、SMB、など(Windows関連)のファイルシステムを使ってファイル共有するためのスクリプト
    NFSSMBは利用しない)
  • nfsNFSサーバ
    NFSは利用しない)
  • nfslock:NFSファイルシステムをロックするサービス
    NFSは利用しない)
  • portmap:RPC関連のport mapper。NFSNISを使用する場合に必要
    NFSNISは利用しない)
  • postfix:メールサーバー
    (メールサーバーではない)
  • rpcidmapd:NFS関連のRPC name to UID/GID mapper
    NFSは利用しない)
  • sshdSSHで通信するために必要。
    (別のPCからこのPCにリモートログインすることはない)


【その他、環境によって微妙なサービス】

  • cups:印刷システム
    (プリンターとつながっていなければ不要)
  • irqbalance:マルチプロセッサ環境のIRQ割り込み処理
    (シングルコアのCPUがひとつの環境なら不要)
  • udev-post:ハードウェア自動認識
    (ハードウェア構成が変わらないなら不要?)

サービス設定の確認

すべてのサービスを羅列。
「0」から「6」までのrunlevelの設定状況がすべて表示される。
ランレベル (Run Level)とは

chkconfig --list

数を数えてみる。

chkconfig --list|cat -n
(catの「-n」オプションは、行に番号をつけるオプション)

(現在41個)

現在のrunlevelを知るには、

runlevel

(以下、runlevelが「5」として)

onになっているサービス

chkconfig --list|grep 5:on|cat -n

(現在17個)

offになっているサービス

chkconfig --list|grep 5:off|cat -n

(現在24個)

自動起動するアプリの設定も同時に行う。

andy

fsck:起動時にHDDがチェックされるタイミングの設定

通常、ハードディスクの各パーティションは、設定で決められた回数マウントされると起動時にfsckによって自動的にファイルシステムのチェックと修復が行われる。

自動的にfsckをかけるかどうかの判断には、/etc/fstabが参照される。fstabには、mountに関する設定の6項目が6つのフィールドにわかれて書かれているが、6つめの(最後の)フィールドの数値がfsckに関する設定。

その数値が「0」または無記載だと、そのパーティションは自動チェックの対象とならない。起動するシステムのある「/」(ルート)パーティションを自動チェックする場合は、数値を必ず「1」にしなければならない。それ以外のパーティションは、「2」にする。

Vineでは、オートマウントがあるので、自分でfstabを編集するのは非推奨)

(fstabの例)
LABEL=/1 / ext3 defaults 1 1
/dev/hda4 /mnt/hda4 ext3 defaults 1 2

(近頃のLinuxは、デバイスを自動的にマウントする仕組みがあるが、その場合起動時のfsckはどうなっているのだろう?)

チェックされるタイミングの設定

以下、「/dev/sda1」を例に。設定はrootで。

1. 現在の設定を調べる。

現在マウントされているファイルシステムを調べる。

df -h

ファイルシステムの様々な情報の表示。

tune2fs -l /dev/sda1

「Filesystem created」の日時で、「そうか、あれから2年か……」などという感慨にひたれる。

これでは情報が多すぎるので、必要な箇所だけをgrepで抜き出す。

tune2fs -l /dev/sda1 | grep -i "mount count"
grepの「-i」オプションは、大文字と小文字を無視するためのオプション)

  • 「Mount count」が、前回のfskc以降にマウントされた回数。
  • 「Maximum mount count」が、自動的にfsckを開始するマウントの回数。
2. fsckの間隔設定

以下のコマンドでマウント回数を指定。

(マウント回数を50回にしたい場合の例)
tune2fs -c 50 /dev/sda1

お好みで、「df -h」で確認した各パーティションに同様の操作をする。

設定の確認は、

tune2fs -l /dev/sda1 | grep Maximum

備考

チェックの間隔(マウント回数)をどの程度にするのが最適かははわからない。

心配性の人は起動するたびに毎回チェックしたいかもしれないし、起動が遅くなることを嫌う人やファイルシステムの状態など知ったことかという人は、できるだけチェックをしたくないかもしれない。

環境や使い方によっても間隔は変わってくる。

RAID1を組んでいる人は、バックアップが確実なので、それほど頻繁にチェックする必要がないかもしれない。

頻繁に起動を繰り返す場合は、それだけマウントの回数も多くなるのでfsckが動くマウント回数を少なく設定していると、無闇にfsckが動く事になる。ほとんど電源を落とさない場合は、その逆になる(時間間隔による設定も可能)。

そもそも、どの程度fsckすべきなのかもわからない。HDDはいつかは壊れるものだし、ファイルシステムに異常があるときやその可能性があるときは、起動時にfsckするよううながされる。なによりも重要なのは、日頃のバックアップである。

ということで、fsckの間隔はユーザーの考え方次第。

自分の環境や起動間隔や使用時間と、どの程度チェックしたいかを考慮して、チェック間隔を決めるしかないだろう。

たとえばコンスタントに1日に2度くらい起動する場合で、10日に1度くらいはfsckをしたいなら「-c 20」という具合。

総ファイルサイズが小さい場合は、頻繁にfsckが動いても特に問題はないかもしれないが、総ファイルサイズが大きいとfsckに時間がかかって面倒なので、それも考慮のポイントとなる。

また、システムのある「/」パーティションとそれ以外のパーティションで間隔を変えることもあり得るし、新しくて信頼性の高いHDDか古いHDDかも判断の基準となり得る。データの書き替え(ファイルの上書き)が頻繁に行われるパーティションかどうか、バックアップが確実かどうかも判断材料となる。

andy

gftp

gftp

FTPクライアントの「gftp」をインストール。

apt-get install gftp

以前のOSの「~/.gftp/」以下から、「bookmarks」と「gftprc(設定ファイル)」をコピー。

FTPクライアントには、gftpのほかに、Vineのパッケージに「FileZilla」が、Firefoxのアドオンとして「FireFTP」などがある。

andy