たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
複数のプロファイル、複数のバージョンを検証用に用意しないといけなくて、簡単に使い分けられるような環境を作る必要があるのです。
/usr/share/applications/firefox-custom.desktopとして以下の内容でファイルを作成する。
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser (custom)
Name[ja]=Firefox ウェブ・ブラウザ (custom)
Comment[ja]=ウェブを閲覧します
GenericName=Web Browser
GenericName[ja]=ウェブ・ブラウザ
Exec=firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupWMClass=Firefox
StartupNotify=true
X-Ayatana-Desktop-Shortcuts=NewWindow;Sub;ESR;Stable;Beta;Nightly;
[NewWindow Shortcut Group]
Name=Open a New Window
Name[ja]=新しいウィンドウを開く
Exec=firefox -new-window
TargetEnvironment=Unity
[Sub Shortcut Group]
Name=Sub
Exec=firefox -no-remote -p sub
TargetEnvironment=Unity
[ESR Shortcut Group]
Name=ESR
Exec=/home/piro/opt/firefox-esr/firefox -no-remote -p esr
TargetEnvironment=Unity
[Stable Shortcut Group]
Name=Stable
Exec=/home/piro/opt/firefox-stable/firefox -no-remote -p stable
TargetEnvironment=Unity
[Beta Shortcut Group]
Name=Beta
Exec=/home/piro/opt/firefox-beta/firefox -no-remote -p beta
TargetEnvironment=Unity
[Nightly Shortcut Group]
Name=Nightly
Exec=/home/piro/opt/firefox-trunk/firefox -no-remote -p trunk
TargetEnvironment=Unity
これで、アイコンを右クリックして各プロファイルで起動できるようになった。
ユーザのホーム以下にファイルを作成して複数のアイコンを登録してみたりとか色々試みてたんだけど、自分で付けた名前と表示名が一致しないとか色々動作が怪しくて、結局このような所(グローバルな設定ファイルとして作成)に落ち着いた。
2014年8月21日追記。Ubuntu 14.04LTSで、Thunderbird用の物も作った。
[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird Mail (custom)
Name[ja]=Thunderbird電子メールクライアント (custom)
Comment=Send and receive mail with Thunderbird
Comment[ja]=メールの読み書き
GenericName=Mail Client
GenericName[ja]=電子メールクライアント
Keywords=Email;E-mail;Newsgroup;Feed;RSS
Keywords[ja]=Eメール;イーメール;mail;e-mail;email;メール;電子メール;ニュースグループ;ネットニュース;RSS;フ>ィードリーダー;書く;読む;Mozilla
Exec=thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=thunderbird
Categories=Application;Network;Email;
MimeType=x-scheme-handler/mailto;application/x-xpinstall;
StartupNotify=true
Actions=Compose;Contacts;AnotherProfile
[Desktop Action Compose]
Name=Compose New Message
Name[ja]=新しいメッセージの作成
Exec=thunderbird -compose
OnlyShowIn=Messaging Menu;Unity;
[Desktop Action Contacts]
Name=Contacts
Name[ja]=連絡先
Exec=thunderbird -addressbook
OnlyShowIn=Messaging Menu;Unity;
[Desktop Action AnotherProfile]
Name=Start with Another Profile
Exec=thunderbird -no-remote -p sub
OnlyShowIn=Messaging Menu;Unity;
Firefoxの物を作った時と微妙に様式が変わっているようだ。
僕は会社では主にUbuntuを使用しているのですが、Sambaで共有してるフォルダの中にあったThunderbirdのプロファイルっぽい物を「あれ、これテスト用に作ったやつだっけ」と思ってWindowsから削除してしまった後になって「あ、これメインで使ってるThunderbirdのプロファイルへのシンボリックリンクやがな」と気がついて慌てて止めたものの、時既に遅しでメールフィルタもなんもかも消えてしまった。せめてNautilusからの削除だったらゴミ箱に残ってたのに……!
Thunderbirdは起動した状態のままだったので、設定エディタを開いて適当な設定値をいじって、一番重要なprefs.js(アカウント情報が入ってる)だけは書き出させた。アドレス帳は全く使ってないに等しい状態だったので、消えても構わない。メールフォルダの中身も、IMAPで自宅・サーバ上・このPCの3箇所で同じ物を複製しあってる状態だったのでなんとかなる。しかし、このPCでしか設定してなかったメールフィルタが消えてしまったのは痛い。
ということでなんとかundeleteする方法はないかと検索したら、extundeleteというのを使えばいいらしいという事が分かった。
試してみたらかなりの数のファイルを救出できたけど、なんやかやで一部壊れてる物もあった。とりあえず目当てのメールフィルタは無傷で救出できたので、なくさないようにDropboxに入れて自宅にもコピーを置いておこう……
自宅ではWindows Vistaで秀丸エディタを使っている僕は会社では主にUbuntuを使用していますが、viでもemacsでもなくgeditがメインのテキストエディタだったりします。という事を言うとワリと失笑されがちですが、geditそんなにわるくないよ!! むしろメモ帳(notepad)よりはずっといいよ!! タブの挙動とかはキモイけど!! シンタックスハイライトもあんまり賢くないけど!! あとShift_JISで「\」(半角バックスラッシュ)を含んだファイルを開くと勝手にUnicodeの円マークに変換しちゃうせいでそのまま保存するとJavaScriptの正規表現とかがぶっ壊れがちだけど!!
そんなgeditに対する不満の1つに、検索で正規表現を使えない、特に、正規表現による一括置換ができないという点が挙げられます。改行やタブをコピペして検索したり置換したりしようとした時には勝手に「\n」とか「\t」とかエスケープされて表示されますが、こういうのを自分で入力しても期待通りには認識されません。
んでまあずっと諦めていたのですが、改めて探してみたら、geditで正規表現検索できるようにするプラグインというのが世の中にはあったのですね。
以下、Ubuntu 10.10での導入手順。
置換先の入力欄の上で何か操作しないと、「Replace All」などのボタンが有効化されません。置換先の文字列を空にしたまま置換しようとすると(=マッチ箇所を削除する操作をしようとすると)「すべて置換」ボタンが有効にならないという風な事が起こるので、何か入力してそれをまた消す、という操作を必要に応じてやらなくてはなりません。という風に若干作りが甘いと思われる部分はあるものの、これでやっとgeditだけでもそれなりの事ができるようになったという事の方が嬉しくて、もうこれだけで満足してしまいがちな僕がいます。
あと「grepもできたらいいなあ」「でもってgrepでヒットしたファイルを一括置換したいなあ」とかも思って検索してみたら、grepだけならプラグインですぐにできる事も分かりました。
こちらで紹介されているGedit File Search PluginをRegex Search and Replaceと同じようにしてインストールして「編集」→「設定」→「プラグイン」で「File Search」にチェックを入れてgeditを再起動すると、「検索」メニューの「Find in files...」でgrepできるようになります。ヒット箇所をクリックするとその位置までスクロールした状態でファイルを開いてくれるので良いですね。さすがに「grepで置換」まではできませんが……
Windowsには昔からよく知られた便利機能でCommand Prompt Hereという物がありまして、要するに「フォルダの右クリックメニューから、そのフォルダをカレントディレクトリにした状態でコマンドプロンプトを開く」というやつなんですが、Windows 95の頃にはPower Toysというユーティリティ集でこの機能を簡単に追加できたりもしました。
これと同じ事をGNOMEのNautilusでやるパッケージがあったんですね。その名もnautilus-open-terminal。Debianにも同名のパッケージがあるようです。
CUIメインで使ってる人には用がなさそうですが、僕みたいにヌルい人にはあると便利です。
Ubuntuの場合、初期状態では1つのプロセスで開けるファイルの最大数は1024個までと決まっているようで、それ以上の数のファイルを開こうとするとエラーになる。普通に使っててこの制限を気にする場面は全然無いんだけど、自動テストで大量のファイルを処理するようなやつを実行するとたまにこの制限に引っかかってしまうことがある。
現在の制限がどうなっているかは、ulimit -a で調べられる。open filesと書いてある所の数値がそれだ。
この制限を一時的に緩和するには、ulimit -n 任意の整数 とやればいいらしい……んだけど、ulimitはsudoでは実行できないようだった。rootで操作すればいいんだけど、普通にUbuntuを使ってるとrootにはなれないので、この方向を頑張るのはちょっとやる気が出ない。
代わりの方法として、/etc/security/limits.conf を編集するという手もある。例えばすべてのユーザに対してファイルの最大オープン数を2048個に増やしたければ、/etc/security/limits.confに以下のような指定を書き加える。
* soft nofile 2048 * hard nofile 2048
これで再起動すれば、すべてのユーザについて、1プロセスで扱えるファイルの最大数が2048にまで増える。
仕事でRails 3.0とかRuby 1.9.2とかを使わないといけなくなったんだけど、Rails 3.0と併せて使うとお薦めと紹介されていたBundlerというやつをgemでインストールしようとしたらRubyGemsのバージョンが古くてダメだと言われてしまい、Ubuntu 10.10にアップグレードしたらいけると教えてもらったので、早速上げてみた。(10.04はLong Time Supportだからアップグレードの通知が来てなくて、10.10がリリースされていたことに気付いてなかった。)
unix extensions = no wide links = yesの2行を足してsudo server smbd restartとしたら、シンボリックリンクを辿れるようになった(でもセキュリティ的にまずいのか?)
が、日本語入力の所で問題が起こった。
僕は以前からUbuntuでATOK X3を使ってた。アップグレード後も、特にインストールし直さなくてもATOKによる日本語入力はできるようだったが、どうも動作が怪しい。
9.10→10.04LTSの時の手順でATOKを再インストールしてみよう……とする前に、念のため「Ubuntu 10.10 ATOK」で検索してみたら、Ubuntu日本語フォーラム / 10.10にATOKをインストールというのが出てきた。これによると、
という事だったので、早速やってみた。しかし、上記の「動作が怪しい」点は変化が無かった。
症状をキーワードに検索してみたけど類似の例が見つからなかったのでお手上げということでtwitterでぼやいたら、いくやさんが情報を示して下さった。紹介していただいたエントリによると、「immoduleの設定がおかしい」のが原因……らしい。
いくやさんのエントリには /usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules を編集するように書いてあるけど、何故か僕の環境だとこの位置にファイルが無くて /usr/lib/gtk-2.0/2.10.0/gtk.immodules にそれらしきファイルがあった。sudo vi /usr/lib/gtk-2.0/2.10.0/gtk.immodulesで開いて、こちらはいくやさんのエントリと同じように
"/usr/lib/gtk-2.0/immodules/im-iiim.so"
"iiim" "Internet/Intranet Input Method" "iiimgcf" "/usr/share/locale" ""
と追記し( /usr/lib/gtk-2.0/immodules/im-iiim.so の位置にファイルがあることはちゃんと確認した)、ログアウトしてログインし直したら、「入力を確定するとメニューバーにフォーカスしてしまう」「変換候補のポップアップがウィンドウの左下に張り付いてしまう」問題は解消された。
ただ、上記のリンク先にある修正版のATOK(用のIIIMF)のパッチにはiiimf-properties(iiim-properties)のパッケージは含まれていなくて、tarからインストールするのはさすがに怖かったので、「ウィンドウ左下のツールチップ?を表示しない設定」+「変換キーでIMEのON/OFFをトグル」は諦めるしかないようだった。(「ウィンドウ左下のツールチップ?を表示しない設定」の方だけは、JustSystemのサポートサイトで公開されているIIIMFステータス非表示ツールというのを使うことでどうにかできるけど。)
ATOKの使用をあきらめかけた時に、せっかくだからとibus-mozc(Google日本語入力のエンジンのオープンソース版)を試してみることにした。
ibusの設定は システム→設定→キーボード・インプットメソッド で変更できる。こちらは変換キーだけでのIMEのON/OFFトグルも簡単に設定できた。また、言語パネルを表示させた状態であればibus-mozcの設定を変更できて、ここからキーバインドをATOK風に変えることができた。
とりあえずちょっと触った感じでは日常的な利用には支障なさそうだと思った。ただ、僕はATOKに電子辞書を入れて変換候補の同音異義語の使い分けに使ってて、mozcにはそれがないようだったので、ATOKが使えるうちはATOKを使いたいなあと思った。
Ubuntu 9.10 Karmic KoalaからUbuntu 10.04 LTS Lucid Lynxにアップグレードした。9.10の諸問題が解消されている事に期待して。
所感。
To re-enable php in user directories comment the following lines(ユーザのディレクトリでPHPを有効にしたかったら以下の行をコメントアウトせよ)と書かれていた事に気がついて、
<IfModule mod_userdir.c>~</IfModule>
をコメントアウトしたら、ファイルのダウンロードにならずにPHPのスクリプトとして解釈された結果が返るようになった。なんかあればまた追記していく。
WEPで無線LANに繋がらなくなったのでWPAにしたあと、正常に動いてるように見えたし、ハイバネーションからの復帰後もちゃんと動いてたんだけど、Ubuntuのアップデートがかかってその後再起動したらまたネットワークに繋がらなくなってしまった。
ログビューワでログを見た感じではハードウェア自体は認識されてるようで、 検索結果の見よう見まねで /etc/network/interfaces を以下のように編集してsudo /etc/init.d/networking restartしたら、とりあえずネットワークには繋がるようになった。
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp wpa-essid ssid wpa-psk 共有キー
が、この状態だとGnomeパネル上のNetwork Managerアプレットが全く機能しなくなって、無線のアクセスポイントも何も切り替えられない。
キーワードを変えてさらに検索していたら、/etc/network/interfacesを消せばなんとかなるという話があったので、これ危なそうだなーと思いながら試してみた(interfacesを別の名前に変更してみた)ところ、再起動したらNetwork Managerアプレットがちゃんと動くようになった。WPAのアクセスポイントにもつながってる。
でもCtrl-Alt-F2とかでコンソールに切り替えるとログインプロンプトが出てなくて、これでまたトラブルになったら手の施しようがないと思ったのでもう少し検索してみたところ、今度はUbuntuフォーラムのやり取りがヒットした。やっぱりというかなんというか、最低限の記述はないといけないのか。ということでinterfacesの内容を以下のように削って最小限(?)にしてみた。
auto lo iface lo inet loopback auto wlan0
再起動したら、Ctrl-Alt-F2でもログインプロンプトがちゃんと出てて、Network Managerで無線LANにも繋がるという状態になった。
なんかどんなにやっても無線LAN繋がらなくなってしまって、以前詰まったステルスモードのアクセスポイントの問題でもないようだし、もう完全に手詰まりになってしまった。
daemon.logを見てみると、昨日のログではNetworkManagerのsupplicant connection stateがdisconnected→scanning→associating→associated→completedになってたのに、今日のログではassociatingの次にdisconnectedに戻ってしまってて、wpa_supplicantが「Associated with……」のログを出してなかった。
で、このあたりのキーワードで検索してたら2chのスレが引っかかった。
45 :login:Penguin:2008/10/05(日) 09:47:09 ID:6n0tInIX >>43 WEP 使っていたら、一度接続された後に /etc/init.d/network restart 入れてやらないと、通信できません > X61@Mo4.1 素直に WEP 捨てて、wpa_supplicant で WPA2-PSK/AES にするのが良いでしょう
今回の現象とはぜんぜん違う話題だけど、WEPじゃダメでWPA2なら問題ないというケースがあるのか。
僕の環境の問題も同じようにして解決されることを期待して、前々からWEP捨てなきゃと思ってたのをやっとWPA2-PSK(WPA2-パーソナル)に変更した。無線ルータの設定を変えた後、Ubuntuのネットワークマネージャで繋ぎ直したら、あっさりと繋がった。
結論:WEPは捨ててWPA2にしましょう。
svnをコマンドラインで使うのはどうにも慣れなかったので以前UbuntuにNautilusSVNを入れて使ってたんだけど、リポジトリからアップデートしようとしたらアップデートできなくて、どうした事だと思って目視してみたら、RabbitVCSという名前に変わったよとあったので、そっちから最新版をダウンロードしてインストールした。Ubuntu 9.10でも使えるdebパッケージがあったのでそれを使った。
おおおおお。なんか凄く完成度上がってる。日本語のロケールも入ってるし、メニュー項目にアイコンが付いて、見た目もますますTortoiseSVNそっくりになってる。コミットログに日本語を書けない問題が修正されてるかどうかはまだコミットしてないので分からないけど、日本語ロケールが入ってるくらいだから多分大丈夫なのかなあ。→大丈夫だった。他にも、ログ一覧を見たりタグを簡単に打てたり、TortoiseSVNでよく使う機能がちゃんと移植されてて助かりまくりです。