Ubuntu13.04へのアップグレード

.31 2013 環境構築 comment(0) trackback(0)
Xperia UL買ってきたのですが、Ubuntu12.04ではMTPがサポートされてなくてマウントが面倒だったのでこの際13.04にしてしまおうということでアップグレードしました。
が、なぜかcompizが落ちまくるしいろいろクラッシュ報告が出るし不快だったので結果的にクリーンインストールしました。

クリーンインストールしたあとデュアルディスプレイが機能しなくて片面が砂嵐画面になったり両面ともカーソルしか出なかったりいろいろ大変でした。
最終的にはなんとかグラボのデバドラぶち込めたので勝利。手こずらせやがって。

他にもいくつか躓いた点があったのでメモします。

とは言ってもだいたいの問題はここのサイトを見れば解決しました。
http://www.k5.dion.ne.jp/~r-f/sicklylife/memo/ubuntu1304/index.html


以下自分のやったこと。
gnome-panelを入れてキモいスクロールバーを消したりターミナルのメニューバーを消したりetcは11.10にアップグレードした時と同じ。

ディスプレイ関係
fglrx-updateを入れる。RadeonHD6450を使っているのでこれ重要。
入れないと画面が乱れて作業ができない。

続いて/etc/X11/xorg.confに次の内容を書き込む。
これをしないとミラー以外できなかった。(画面の仮想サイズがディスプレイ2枚分の大きさ以上でないといけない)
Section "Screen"
	Identifier		"Default Screen"
	Monitor			"Configured Monitor"
	Device			"Configured Video Device"
	Subsection "Display"
		Virtual		4000 2400
	EndSubsection
EndSection

あとはGUIで配置とかしてもいいしxrandrでやってもよい。
xrandr
xrandr --output CRT1 --auto --right-of DFP2
xrandr --output CRT1 --primary


んでXperiaつないでみる。あれ?せっかく13.04にしたのに認識されねえじゃん…
と思って試行錯誤したらハブの問題だった模様。直接つないだらXperiaが認識されました!!

続いてmikutter入れる。
以下のパッケージが必要だった。
- ruby-gtk2
- ruby1.9.3
- libgtk2.0-dev

次。今回のように画面が乱れた時に重要なキー。Ctrl + Alt + Backspaceの有効化。さっきのページに方法載ってた。

次、入力メソッド。
なんと13.04ではuim + mozcが使えるじゃないですか!
uimはvi協調モードがあるので気に入ってます。

最後。Sylpheedのアイコンがシステムトレイに表示されない!! 不便!!
システムトレイを「Alt + 右クリック」、「パネルへ追加」で「通知領域」を選択、追加する。終わり。

蚊の多い季節になってきました。ここ3日連続で部屋に蚊が出没していて困っています。
とか書いてたらまた蚊がいたので潰してきました。
本当に迷惑な奴らですね。

Uuntu11.10にしてから最初にやるべきこと

.19 2012 環境構築 comment(4) trackback(0)
Unityになってから不評なUbuntuを快適に使うための方法をまとめました。(あくまで個人的な備忘録です)


1. Unityのままだと起動したいものがどこにあるのか探すだけで大変なのでまずはクラシック表示にする

Terminalを起動する。メニューから探すのは大変なのでctrl + alt + T。

gnome-panelを入れる
sudo apt-get install gnome-panel

デフォルトをクラシックにする
sudo /usr/lib/lightdm/lightdm-set-defaults -s gnome-classic

一旦ログインしなおせばクラシックになります。


2. ~/以下の日本語ディレクトリを英語にする
これは毎度おなじみ。
LANG=C xdg-user-dirs-gtk-update
そんでUpdate Namesを押せば完了。


3. スクロールバーがキモいので普通のにする
sudo apt-get remove overlay-scrollbar liboverlay-scrollbar3-0.2-0 liboverlay-scrollbar-0.2-0
(xconfigをいじる方法もありますが甘いですね)


4. Unityいらないなら消す
パッケージマネージャから消すのが無難。
ついでにUbuntu Oneも消していいかと。


5. vim, gimp, texなどいろいろ入っていないので入れる
お好みで。
TeX関連はこちらが詳しい。
http://www10.atwiki.jp/shirayuu/pages/61.html


6. 日本語入力をAnthyからMozcに変える
デフォルトはibus + Anthyですがこれをibus + Mozcにします。
以前はvim協調モードのあるuimを入れてuim + Mozcで使っていたのですが今のバージョンだとuim-mozcが
libuim: [fatal] mozc plugin: Subsequent /usr/share/uim/mozc.scm load failed.
Warning: Module mozc is not a correct module.
というエラーを出してきて入力方式の選択一覧にもMozcがでてこないので諦めます。
でもvim協調モードは使いたい!!ということでibusでvim協調モードにする方法を調べました。
# コマンド打つためにEsc打ってるのにそこで日本語モードのままとかマジ勘弁
ibusにpatchあててvi協調モードを作るという方法もありましたが、バージョン的に合わず、面倒そうなのでやめました。

結局pythonで日本語無効化するコード(5行)書いて、それをvimのキーバインドに設定することに。
まず適当な場所に次のコードを用意。
import ibus

bus = ibus.Bus()
ic = ibus.InputContext(bus, bus.current_input_contxt())
ic.disable()

続いて.vimrcに次を追加。
inoremap <silent><Esc> <Esc>:w !python 上のコードのパス.py<CR><CR>
これだけだと挿入モード時にカーソルキーとかDeleteキーとかが変な挙動を示すので次の「おまじない」も一緒に書いておきます。
inoremap <Esc>OX <Esc>OX
set timeoutlen=0
カーソルキーとか使わなければいいだけという話もありますが、一文字右に行きたいときにわざわざEsc, l, aと打つのも面倒ですからね。

これで挿入モードの時にEscを押すとノーマルモードに移りつつ上記コードが走ります。
とりあえず解決…(いいのかなぁ…こんな方法で)…
この方法だとEscを含むマクロの実行がやたら遅くなります。解決策は思いついたら追記します。

--- 2/20追記 ---
inoremap <silent><Esc> <Esc>:silent! w !python 上のコードのパス.py & <CR><CR>
これでだいぶ改善されます
--- 追記終わり ---

2012/3/9追記
それでもやっぱり遅いのでいろいろ試してみた結果、これに落ち着きました。
https://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-japanese/ime-control#statusline
ki_vanくんコメントありがとうございます。
--- 追記終わり ---


uim + mozcのときはxmodmapを起動時に実行するように.xprofileに書いてもあとから設定が消えていたのですが
(多分uimのキーテーブル書き換えるべきだった)
今回はそういうことが起きないようなので.xprofileに
xmodmap xmodmaprcのある場所
とか書いておけば便利です。


7. フォント入れる
inconsolataとかIPAモナーとか。inconsolataはapt-getで入れられたはず。
ターミナルのフォントは背景色202020, 文字色DDDDC4, フォントinconsolata 10にしています。
ディスプレイによって最適な色、フォントは違ってくると思います。


8. 高度な設定をできるようにする
システムのフォントが全体的にでかいので変える。
そのために「高度な設定」をインストール。
sudo apt-get install gnome-tweak-tool
そんで起動、設定。
gnome-tweak-tool
個人的にはデフォルトで入ってるタカピー(TakaoP)が結構気に入っています。


9. Firefoxのキャレットモードを無効化
about:configから「caretモードを有効にする」みたいなやつをfalseにする


10. Twitterクライアント
Ubuntu11.10ではTweetDeckが使えないようなので代替品を探す。
さすがにデフォルトのGwibberはちょっとね…
個人的にはmikutterがオススメ。
Ubuntu11.10では
mikutter0.0.3 + ruby 1.9.1 + ruby-gtk2
で結構安定しています。


11. pixbufがらみのWarningに対処する
sudo apt-get install gtk2-engines-pixbuf
必要かどうかはわかりませんが一応。


12. Ctrl + Alt + Backspaceの有効化
システム設定 - キーボード - レイアウトの設定(右下にある) - オプション - X サーバを終了するためのシーケンス
にチェックを入れる


note 上部パネルの追加、削除
右クリックしても何も起こらなくて「あれ?」と思って放置していたのですが、
正解は「Alt + 右クリック」でした。


あと気になるのはTerminalでメニューを非表示にしても起動するたびに復活する謎現象くらいですね。
--- 2012/3/12追記 ---
グローバルメニューなるものを消すと解決しました。
% sudo apt-get remove appmenu-gtk3 appmenu-gtk appmenu-qt
名無氏さま、アドバイスありがとうございます!
--- 追記終わり ---

とりあえずこれで不自由なく使えそうなのでしばらくはこのまま使ってみたいと思います。


そもそもなんで突然Ubuntu11.10にしたかというと、RadeonのX600のドライバの事情で11.04はダメという結論に至ったからです。
X600の純正サポートはUbuntu9.04までで、11.04のオープンソースのドライバではdual displayにしたときいろいろと変な挙動(砂嵐画面 or 壁紙とマウスカーソルしか出ない)をします。
そんでとりあえずSDから11.10を試したらあっさり動いたので必要なもの退避して11.10をクリーンインストールしたのでした。

それにしてもUnityの使いにくさ何とかならんものか。
Linuxのシェア見てもUbuntuがUnity採用してから急速にLinuxMintに流れてるように見えるわけで、少なくとも標準をUnityにしたのは失敗だと思うわけです。

UbuntuでXilinx ISEを入れると起動しなくなるツールがある

.15 2011 環境構築 comment(0) trackback(0)
自宅PCはすでに対処していたのですが、学科PCに同じ処理をするのを忘れていてはまったのでメモ。
UbuntuにXilinx ISEをいれた後、ツールによっては以下のようなエラーを吐いて実行できないことがあります。
/opt/Xilinx/13.2/ISE_DS/common/lib/lin/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
例えばeog, g++, gnuplotなどなど。

対症療法的には.bashrcに
alias eog='env LD_LIBRARY_PATH= eog'
のように実行時の環境変数を弄るようにエイリアスをかけてしまう方法ですが、これはあまりにも面倒です。

もっとマシな方法は次の通り。
.bashrcの

source /opt/Xilinx/12.4/ISE_DS/settings32.sh

のあとに

export PATH=/usr/lib:$PATH
export LD_LIBRARY_PATH=/usr/lib:$PATH

を追加。
その後この設定を読み込ませるために

% source ~/.bashrc

とかすればちゃんと起動するようになります。

環境構築の備忘録

.08 2011 環境構築 comment(3) trackback(0)
Ubuntuでキーバインドを変更する方法。
VIMとか使ってるとEscが遠くて打ちにくいので変換とか無変換とかカタカナ平仮名キーとかそのへんの邪魔なキーをEscに割り当てたくなります。
また、EmacsユーザーはCapsLockとCtrlを入れ替えることが多いようです。
僕はVIMユーザーなので~/.Xmodmapをこんな感じにしています:

keysym Henkan = Escape
keysym Muhenkan = Escape
keysym Hiragana_Katakana = Escape

こう書いて

% xmodmap ~./Xmodmap

とかすれば変更が反映されます。
これをX起動時に勝手に読み込んでほしいので、~/.xinitrcに
xmodmap $HOME/.Xmodmap
とか書いておきました
…が何故か読み込まれない。

ALT + F2でgconf-editorを開いていろいろいじってもXを再起動するとやっぱり読み込まれない。
システム→自動起動するアプリケーションのところに追加してもやっぱりキー配列は変更されない。
xmodmapが自動起動していないとは考えにくいのでxmodmapが走ったあとにuimがなにか悪さをしているんだろうか?
# uimのmozcのところのvi協調モード時のescには邪魔キーをまとめて追加しています。

そんなに頻繁に再起動するわけでもないのでとりあえずは起動時にxmodmapを打つようにすればいいと思っています。
解決したらまた備忘録に書き足します。


それからxmodmapの設定をするための備忘録。
キーコードを調べるにはxevがよさげ。
xmodmapもオプションを付けるといろいろ設定が見えるっぽいです。

ちなみにCapsLockとCtrlを入れ替えるには/etc/rc.confに次のように書けばよさそうです。

keymap="jp.106x"



設定してみた感想。
今まで手前の邪魔キーはk本的に押さないものとして指が覚えてしまっているのでなかなか慣れませんね。
というか日本語入力モードから編集モードに移行するときって半角全角キー、Escapeの順に押すので、普通のEscape押したほうがラクという話もあります。

そこで出てくるのが「Escで自動的に日本語入力をOFFにする方法」。
uimのVI協調モードってのを使うようです。defaultのscimにはこの機能がないっぽいです。
僕はMozcを使っているのでuim, uim-mozcをインストール。

% sudo apt-get install uim
% sudo apt-get install uim-mozc
% im-switch -c
ここでuim-systrayを選択し、X再起動(要はログアウト&ログイン)
そんで右上にシステムトレイが出てくるので設定アイコンを押して、出てきたウィンドウの「Mozc」タブからvi協調モードにチェックを入れます。
以後、VIMで日本語入力中にEscを押すと自動的に日本語入力がOFFになるようになりました。めでたしめでたし。
欲を言うと、日本語入力からEscで編集モードに移行して、そのあとiとかaで挿入モードに入ったとき、自動的に日本語入力モードに戻っていて欲しいというのはあります。これはまた別の機会に。

ActionScript on Ubuntu

.10 2011 環境構築 comment(0) trackback(0)
まず、http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex4sdkからコンパイラを引っ張ってきます。
持ってきたらそいつを/opt/flexに展開します。

cd ~

mkdir flextemp

cd flextemp

mv ~/Download/ダウンロードしたファイル名 .

unzip ダウンロードしたファイル名

cd ../

sudo mv flextemp /opt/flex


そんで~/.bashrcに次の一行を加えてターミナルを再起動します。

export PATH=/opt/flex/bin:$PATH


これで

% mxmlc test.as


とかすれば一応コンパイルできますが、なぜか次のようなWarningが出てきました。

このコンパイル単位では、設定されたランタイム共有ライブラリを読み込むための、factoryClass が Frame メタデータで指定されていませんでした。ランタイム共有ライブラリなしでコンパイルするには、-static-link-runtime-shared-libraries オプションを true に設定するか、-runtime-shared-libraries オプションを削除してください。

よくわかりませんが、flexのframeworksディレクトリのflex-config.xmlを一行書き換えるといいようです。

	<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>


デフォルトではstatic-link-runtime-shared-librariesはfalseになっていました。

じっさいにコンパイルしてみると分かるのですが、コンパイルが異様に遅い。
どうにかならないものかと調べてみると、ありました。fcshを使えばいいようです。さきほど入れたflexに一緒に入っています。

fcshってのは簡単に言うと、mxmlcが実行終了後にメモリを解放しないようにし、次回同じidでmxmlcを起動したときは持ってるメモリをそのまま使わせるというもののようです。
もうこのコードはコンパイルしないから確保されたメモリを解放したい!というときはclear [id]を使えばよいようです。
今日はしばらくas使わないかなーってときはちゃんとquitしないとメモリが確保されたままになってしまいます。

ただし、このfcsh、そのままでは使いにくいので

% rlwrap fcsh


のようにして起動するのが普通のようです。
# rlwrap: GNU最大の成果物の一つであるreadlineを使うためのツール。leditなどと同じ。apt-getなどで持ってくる。

一回目は普通に

% mxmlc test.as


のようにし、この際fcshが何か言ってくるのでそのidを覚えておき、次回以降は

% mxmlc 1


のようにします。


続いて.asファイルをvimで開くときに自動的にsyntax highlightさせる方法です。
まずhttp://www.vim.org/scripts/script.php?script_id=1585とかからasファイル用のシンタックス定義ファイルを持ってきます。
それを~/.vim/syntaxに放り込んで~/.vim/ftdetectにft.vimとか適当なファイル作り、そこに次の一行を書きます。

au BufRead,BufNewFile *.as set filetype=actionscript


これで拡張子asのファイルをvimで開くと勝手にsyntax highlightされます。

# あれ?FireFoxだとコードの改行が全部2回ずつ表示されてる。。。なんでだろ。
 HOME