基本的にVine Linux5 kernel 2.6.27-57v15
.Xdefaultsについて
LXDE上での設定記録。
- 標準では存在しないので、自分で作る。
- xrdb ~/.Xdefaults によって設定を随時適応できる。ただし対象となるプログラムは再起動が必要。
- 詳細:http://x68000.q-e-d.net/~68user/unix/pickup?~%2F.Xdefaults
記述 動作 XTerm.foreground: X xterm.foreground: X XTerm*foreground: O xterm*foreground: O
- 詳細:http://x68000.q-e-d.net/~68user/unix/pickup?~%2F.Xdefaults
- emacsの設定
- 動く
- Emacs*Background
- Emacs.Background
- Emacs*geometry
- Emacs.geometry
- geometryに関しては、動くが、あまりよいことにならないので(フォントサイズの関係からウィンドウのリサイズがおかしなことになる)mac向けに作った方法を使う。
- 動く
X周りの設定
Ubuntu 10.10 で SandS をつかう
参考
- キーボードカスタマイズの魅力 ― ありえるえりあ
- xserver-xorg-input-evdev-mad-key.patch - xr0038's posterous
- Sticky Shift / SandS - 技術日記@kiwanami
ubuntu 10.10では evdev が2.5.99とバージョンアップしていて、中身もだいぶかわっているのでそのままでは適用
できない。
手動でがんばれ。
./autogen.sh ./configure make sudo make install
で ok だが、 xorg-xserver がないといわれたら、 xserver-xorg-dev をいれる。
一般に x関連のなにかをビルドしていてたりないといわれたら -dev がたりないみたい。
Libraries have been installed in:
/usr/local/lib/xorg/modules/input
Dual Display
ノートPCのVGAアダプタにコネクトしている状態を想定
参考:http://d.hatena.ne.jp/rx7/20081009/p2
1.xorg.confの編集
/etc/X11/xorg.confを編集して、仮想ディスプレイサイズを理想の画面サイズを二つ並べた値にする。
たとえば、私の環境ではノートPCの画面が1280x800なので、2560x800にした。
Section "Screen" .... Subsection "Display" ..... Virtual 2560 800 EndSubsection EndSection
自分の欲しいサイズより大きければなんでもいいという記述も見られるが、めったに変えるものでもないから綺麗に決め打ちしておこう。
2.xrandrを使う
この前にVGAアダプタをさして、再起動あるいはログインしなおしておこう(たぶんこの時点で自動認識される)。ディスプレイの情報をまず一括取得。オプションを付けないで、
$ xrandr
VGA-0 connected ....
...
...
LVDS connected ....
...
...
などというかんじででるはず。この場合、LVDSが内蔵ディスプレイの名前、VGA-0が外部ディスプレイの名前であるから、次のようなコマンドで新しい画面の設定を有効にする。
$ xrandr --output VGA --auto --right-of LVDS
出力先、既存のLVDSに対する位置を指定。そのほか勝手にやってくれ。
消すには、
$ xrandr --output VGA --off
で出力をOFFにする。
xrandrには様々なオプションがあるので、いろいろつかってみよう。
xset
Display/keyboard/mouseの基本的な設定には、xset
- 情報を表示
xset q
- スリープ設定 xset dpms 300 0 0 (順に、standby suspend offまでのseconds)
- 即時スタンバイ xset dpms force standby
ここでstand byとは、画面の電源・出力を切るが、PCの動作に干渉しないこと。たとえばムービーを再生中にstandbyしてもムービーは止まらないし、たぶんダウンロードなどもキャンセルされない。
suspendもoffも同じ動作・・・環境によって変わるようだが、同様の報告もある。
スクリーンセーバが動作することによってstand byと同じ効果がもたらされることもあるようだ。スリープ設定がおかしいときは xset s off でスクリーンセーバをoffにすることもわすれずに。 - dpmsがdisabledでもstand byになってしまうことがある。おそらくDesktopManagerのせいであろうが。
- 即時スタンバイ xset dpms force standby
- beepを切る xset b off
synclient
- マウス・キーボードなどGUI周りの設定は、synclient -lで出力できる。異常が起きたときはこのファイルをdumpして見比べるとよい。
- はんたいに、次のようにしてGUI周りの設定を変えられる。
- synclient HorizTwoFingerScroll=0
- synclient VertEdgeScroll=1
- synclient HorizEdgeScroll=1
LXDEの起動時のうごき
- LXDEは標準ではgdmの上にのっかる。ここからさまざまなスクリプトに対する処理などをわたせるはず。
- runlevel5で起動→gdm→lxdeとしたとき、~/.xinitrc,~/.xsession,~/.xclientsはどれもロードされないようだ。これらとは関係なく正しく起動している。
- gdmの設定ファイルは以前は/etc/X11/gdm/gdm.confだったが、いまは/etc/X11/gdm/custom.confになった。
- さらに /usr/share/gdm/defaults.conf がデフォルト設定。
- 次のファイルらがそれぞれのタイミングで実行される。
- PostLoginScriptDir=/etc/X11/gdm/PostLogin/
- PreSessionScriptDir=/etc/X11/gdm/PreSession/
- PostSessionScriptDir=/etc/X11/gdm/PostSession/
- DisplayInitDir=/etc/X11/gdm/Init
- .desktopファイルにそれぞれのWindowManagerの説明が、そこからexecで参照されている起動スクリプトに処理が書いてある。
- /usr/share/xsessions/LXDE.desktop
- /usr/bin/startlxdeの起動
- /usr/bin/startlxde
- "~/.config/pcmanfm/main.lxde"の用意
- "~/.config/openbox/lxde-rc.xml"の用意(ロードはしていないようだ)
- window数の設定
- /usr/bin/lxsession -s LXDE
ここで指定されたsessionは、~/.config/lxsession/<session name>か/usr/share/lxsession/<sn>か/etc/xdg/lxsession/<sn>になければいけない。
- /usr/share/xsessions/LXDE.desktop
LXDEの設定
- Right Click Menu on Desktop : /usr/share/openbox/menu.xml (set in .config/openbox/lxde-rc.xml)
- session directory内にautostartを置くと、その内容を読んでくれる。
shではない。基本的に各行を@ではじめる。shell scriptですらないのはめんどうなので、次のように書いておけばいいのでは(PATHは適当に)(たぶん~などを解釈してはくれないので、別ユーザを作るときは再設定が必要)。@sh /home/username/.config/autostart.sh
参考1 - Desktopについての設定はpcmanfmが担当している。
分かりにくいうえ、デスクトップにアイコンを表示しないときは背景色や壁紙をいじれない。
背景色やらをいじるときはxsetroot -solid <色の名前>
LXDE内でのキーボードショートカット
キーボードショートカットはopenboxによってマネジメントされている。
/.config/openbox/lxde-rc.xmlのkeybindの節をいじくることで設定可能。
Openbox guide « urukrama’s weblog
こまかいコマンド
- ドライブ構成の表示
sudo sfdisk -l
ほかには- df
- dmesg
- cat /proc/scsi/usb-storage/*
などが参考になる
- NTFSをマウント
- # apt-get install ntfs-3g
- /etc/fstabに次を追加
/dev/sda2 /mnt/win ntfs-3g
- カーネル情報:uname -a
- ps aux で対象プロセス探索 -> kill -TERM プロセス番号 および kill -KILL プロセス番号
- ps -fe
- ライブラリ周りでエラーが出たときは
- ldconfig -v
- ldconfig -n [libを置いたディレクトリ]
- ldd [実行ファイル]
- 容量関係
- df
- du
- 実行状態をしらべる
- fuser -mv /file/path #アクセスしているプロセス
SIXAXISを使う
PS3のコントローラであるSIXAXISはUSB/Bluetoothで接続可能なデバイスとしてポピュラーである。これをlinuxで使うことを考える。
- 接続確認
lsusb (-v)
でSonyとかPlayStationとかそれっぽいのを見つける。 - kernelのHIDdにパッチする(kernelが2.6.20以下のとき)。パッチの仕方。
カーネルのバージョンはuname -aで確認できる。 - USB接続なら以上でコードを読むことができる。
# hexdump -v -e '48/1 "%02x " "\n"' < /dev/hidraw1 # For kernels < 2.6.26 # hexdump -v -e '49/1 "%02x " "\n"' < /dev/hidraw1 # For kernels >= 2.6.26
- 六軸もうごいている。sixhidtest.c>を使うことでチェックできる。
- これらを具体的なソフトウェアでつかうにはこういうものをつかおう。
参考情報
日本語入力
SCIM and LXDE(or openbox) on Ubuntu10.04でemacs-terminal間の文字入力ができなくなる問題
とてもピンポイントな問題だが、mozcのせいでもなく、emacsのせいでもなく、gnomeだと発症せず(scimがgnomeに合わせて作られているのか?)、VineLinuxだとおこらなかった。
Firefoxなど他のアプリケーションとの間だとおこらない。
emacsがトリッキーなキーボード入力の扱い方をしているからではないかと睨んでいる。
具体的にはLXDE上で、IMをscim(bridgeじゃない)にし、emacsとterminal(lxterminalでもgnome-terminalでも)を起動して
- emacsにウィンドウを切り替える
- 英語と日本語をうってみる
- terminalに切り替える(Alt-Tabもしくはウィンドウクリック。タスクバーからだとならないかも)
とするとterminalに何も入力されなくなる。
解決方法はscim-bridge or scim-immoduleにすること。
emacsでもscimが働いてしまい、elを使った変換エンジンが使えない問題
emacs使用時には他のIM(scim,ibusなどなんでも)の働きを抑制する。
起動時に次のパラメータを付加
XMODIFIERS=@im=none
コマンド実行以外なら、直前にenvでこのキーを実行するなど。
参考:Emacs使用時にSCIMやiBusの起動を抑制するには - Ubuntu Japanese Wiki
mozc
http://code.google.com/p/mozc/
http://blog.livedoor.jp/vine_user/archives/51590928.html
すでにaptで提供されていた。
apt-get install mozc
scim-mozcのインストール
scim-mozcなどはaptでは提供されていないので(in vine)、これらを利用するときは手動でビルドしなければいけない。
LinuxBuildInstructions - mozc - How to build Mozc on Linux - Project Hosting on Google Code
- ソースコードを入手(公式からdownloadがオススメ。リポジトリはビルド出来ないことがあった)
- ソースコードを解凍
- 依存パッケージのインストール
build-mozc.pyの出来が悪いので(?)依存関係に不備があってもそうとは表示されず、妙なエラーで立ち止まることになる。はじめに使う関数やライブラリのチェックをしてくれよと思う。- protoc関係 : protobuf系のパッケージ
- __sync_val_compare_and_swap_4関係のエラー:
CFLAGS="-O3 -march=i586"
CXXFLAGS=$CFLAGS
を実行。
- ビルド
python build_mozc.py gyp python build_mozc.py build_tools -c Release python build_mozc.py build -c Release unix/ibus/ibus.gyp:ibus_mozc \ unix/scim/scim.gyp:scim_mozc unix/scim/scim.gyp:scim_mozc_setup unix/emacs \ /emacs.gyp:mozc_emacs_helper server/server.gyp:mozc_server gui/gui.gyp:mozc_tool
- ファイルの配置
out_linux/Release/mozc_{server|tool} を /usr/lib/mozcに
emacs用は/usr/binに
out_linux/Release/lib.target/ のなかの libscim_mozc.so を名前変更して /usr/lib/scim-1.0/1.4.0/IMEngine/mozc.so へ
libscim_mozc_setup.so を名前変更して /usr/lib/scim-1.0/1.4.0/SetupUI/mozc-imengine-setup.so へ - mozcを有効にするために、再起動
mozcのemacsへの設定
ibusを使わないならば、mozc.elが使える。
unix/emacs/mozc.elをemacsのload-pathの通ったところにコピー。
mozc.elに書いてあるサンプルコードをそのまま.emacs.elに書き付ける。
現行のmozc.elはcliから使えない、C-hを認識しない、バーに出てくる[mozc]という表示が大きすぎるなどの問題があるので、カスタマイズした。
mozc.el
mozc-el-tty.patch (filesize) - mozc - Project Hosting on Google Code
mozcの設定
GUIの設定ダイアログを表示する方法がわからなかったので、CLIで表示する方法。
- 全体の設定
- /usr/libexec/mozc_tool --mode=config_dialog
- 辞書(全体の設定からいける)
- /usr/libexec/mozc_tool --mode=dictionary_tool
ibus scimなどの切り替え
[漢字変換システムの選択]というのをみつけて、そこから選択すればよい。
ibusの欠点
- 変換キー・無変換キーにIMEのOn/Offをうまく割り当てられない。
iBusの有効/無効に個別のホットキーを割り当てるseparate hotkey patchを作りました(ついでにvi協調機能付き) - 黒糖々日記/kokutoto diary - emacs上でうまくうごかなくなった。
scimの欠点
- vineではmozc-scimパッケージが標準提供されていない。
mozc on emacs
ibus + mozc + ibus-el(ibusとemacsの受け渡し)
http://d.hatena.ne.jp/supermassiveblackhole/20100609/1276059762
現在ではmozc-elが存在し、emacs用のサーバを導入することでibusやscimを介さず直接mozcが使用できる。
mozc.el
基本設定
無線を使う
無線LANを使う-on Vaio VGN-G2、Ubuntu-10.04
- 問題:無線切り替えスイッチがOFFで起動したあと、ONに切り替えても動作しない。
- 解決策:
- 無線を使いたい時に次のコマンドを実行する
sudo iwconfig wlan0 txpower auto
ただし、wlan0はじぶんの無線インタフェースの名前。多くの場合wlan0 - スイッチ切り替えはXF86WLANというキーコードを発しているので、これを上のコマンドにバインドする。
このときsudoがパス無しで実行できなければいけないので、/etc/sudoersに次を追記username ALL=NOPASSWD: /sbin/iwconfig
キーバインドは、LXDE(openboxベース)なら、~/.config/openbox/lxde-rc.xmlのふさわしい場所に、<keybind key="XF86WLAN"> <action name="Execute"> <command>sudo iwconfig wlan0 txpower auto</command> </action> </keybind>
といったかんじ。なお、キーコードの名前(keysym)は、xevコマンドか、emacsで... Undefinedとでるのでわかる。
GNOMEとかのキーバインドはどうするんだろう。
Ubuntu日本語フォーラム / 無線LANスイッチの動作について
なお、ii.のテクニックはCPUの速度調整や、液晶の輝度調整でもつかえるめも - sudoとPATH
(/proc/acpi/なんたら にechoするshを書いて、それをパスの通ったところに置き、許可を出せばいい)
- 無線を使いたい時に次のコマンドを実行する
モジュールについて
moduleとはlinuxのkernelの一部を切り出し、部分としてロード/アンロードできるようにしたもののようだ。
/etc/modulesに書いたモジュールがロードされる
- 関連コマンド
- modprobe
- lsmod
beep sound off
- xset b off
- /etc/inputrc において beep の設定を変える。
grubの設定
Vine5 では grub.conf は menu.lst へのシンボリックリンク。
http://bitwalker.dtiblog.com/blog-entry-66.html
default=エントリ番号 でブート対象を決める。
Ubuntu 10.04では/boot/grub/grub.cfgを編集する(boot時間等)標準エントリの設定は?
mount関連
基本文法
sudo mount -t File System -o codepage=[devise's encoding:ex.932],iocharset=utf8 /dev/sda* /mount/point
/dev/sda*にあたるspecial deviceの調べ方は幾つかある。
- cat /proc/scsi/usb-storage/*
- dmesg
- df (すでにマウントされているもの)
- sudo sfdisk -l (認識されているディスクを全表示。sudoじゃないとなにも出ない)
ivman
デバイスの状態を監視し、自動でマウントするデーモン。USBやCDが挿入されたときにマウントしてくれるらしい。
apt-getできる。
Sambaのmount
mkdir /mnt/smb mount -t cifs //fileserver/diskname /mnt/smb
構文は、mount -t cifs //[ホスト名orIP]/ディレクトリ名 [ローカルのマウント対象]
fileserverは/etc/hostsにて参照できるようにしておかなければいけない。(私の例ではサーバにパスワードをかけておらず、Guestで認証しているのでユーザ指定してないが、通常はユーザ指定が必要 -o)
自動mountするには、/etc/fstabに次を書き加える。
//fileserver/diskname /mnt/smb cifs file_mode=0755,dir_mode=0755 0 0
OS終了時にマウント解除するときにものすごく時間がかかる、かもしれない。
参考
- http://linux.kororo.jp/cont/server/smbclient.php : 情報がふるいかもです。現在のVineでは上記のようにcifsをつかわねばならない
- http://www.profaim.jp/tools/soft/linux/auto_mnt.php
cifsでマウントしたボリュームに書き込み権限が得られない
guestユーザ、shareモードで動作時、他のOS(Win,Mac)からは誰でも書き込めるのに、Linuxからだと書き込み権限がない場合。
fstabの設定行のオプションに、nopermを追加する。
例:
Permission issues with smb and cifs [Archive] - Ubuntu Forums
ftpのmount(curlftpfsを使う場合)
残念ながら普通にmountすると一般ユーザには開けないことになる。fstabでuserを指定しても、directoryのパーミッションをどういじっても、一般ユーザからはmountできないとおもう。
しかたがないのでユーザレベルで起動時に実行されるスクリプトの中に、次を組み込む。
sudo curlftpfs -o allow_other ftp://user:pass@ftp.example.com /mnt/ftp
すくなくともこのスクリプトをterminalから実行する範囲では正常に動作している。
CUIでログイン画面
# vi /etc/inittab
- id:5;initdefault ※グラフィカルなインターフェイス
- id:3;initdefault ※コンソールなインターフェイス
このあと、reboot
この状態でloginするとコンソール状態ではいるので、startxでGUI(X11 + shell)起動
Xsystem起動の待ち時間はどうせいつか発生する。
Caps >> Ctrl
- コンソールについては、次のmapファイルを使う。私はCapsキーを使わないので削除している。
ファイルの配置位置は/lib/kbd/keymap/i386/qwerty/
/etc/sysconfig/keyboardのjp106をjp106_nocapsで書き換えればよい。
jp106_nocaps.map.gz - X11には
xmodmap ~/.xmoxmaprc
すみっこのメモを参考にされたし。- .xmodmaprcの内容はつぎのようにする
remove Lock = Caps_Lock remove Control = Control_R keysym Control_R = Caps_Lock keysym Caps_Lock = Control_R add Lock = Caps_Lock add Control = Control_R
- 他の設定をしたいときは、xevコマンドでキーコードが調べられる。
気の向くままに ~備忘録@wiki~ - Ubuntu Linux 10.04
xmodmapについて:X の key map を変更する
- .xmodmaprcの内容はつぎのようにする
基本アプリケーション
- LXDE(たぶんGnomeなし、X11のみでセットアップして、それからLXDE入れるのが正しい。未実験)
- Firefox はいっている
- TeX系 はいっている
- Google Japanese Input 上記参照
- Emacs
apt-get install emacs-ばーじょん
- VLC
apt-get install self-build-vlc
- OOo
- Maxima:数式処理
入門ノートapt-get install wxMaxima
.desktopファイルの書きかた
デスクトップエントリファイルと呼ぶ。
デスクトップエントリファイル (GNOME 2.2 システム管理 (Linux 版)) - Sun Microsystems
freedesktop.org - Home
ファイラ:未定
- 理想
- 軽量の2ペインファイラ。
- キーボード操作をある程度サポートしてくれる(ノートPCのため)
- PCManFMの不満な点
- ツールバーのアイコンがでかすぎる
- タブ周りの操作がエレガントじゃない(空間ダブルクリックで新規タブが起きない、ミドルクリックで消せない等、Fxなどで採用されている良さがすべて死んでいる)
- 小さい画面には似合わない。文字・空間が巨大(Linuxのアプリはどれもそうだけども)
- GNOME Commanderの不満な点
- 設定項目が微妙。ディレクトリの扱い周りが特にやりにくい。
- 参考になる情報がすくない
- muCommander
- /usr/local/bin においてある