remap console key capslock

なんか急にubuntu 10.04 のgdm(?)がおかしくなりました。
ログインしたいがうまくログイン出来ない事があります。いや、ほとんどログイン出来ません。
治したいのですがよくわからないので、gdmはひとまず止めておくことにしました。
で、しばらくコンソールでいじいじしていたらCAPSLOCKがムカつくんですよ。

というわけで、キーマップを変更してみます。
XだとXmodmapで変更するような感じで、コンソールの場合、/etc/console-setup/remap.incに
[text]
keycode 58 = Control
[/text]
を追加し、
[bash]
setupcon –force –save
[/bash]

これでOKみたいです。たぶん。

Ubuntu9.10betaにVMware Server 2をインストール

結果はモジュールのコンパイルでエラーがでたけど、適当に修正してみたらコンパイルは通ってくれて、インストールはできたよ☆ です。
実際のところ、まともに動くのかはわかりません。。

インストール

基本はここの通り
How To Install VMware Server 2 On Ubuntu 9.04

モジュールのコンパイルでエラー

今回問題だったのは、モジュールのコンパイルのところ。
エラー内容は これ とか 。以下のようなもの。

[text]In file included from /tmp/vmware-config2/vmnet-only/vm_basic_asm.h:46,
from /tmp/vmware-config2/vmnet-only/vm_oui.h:28,
from /tmp/vmware-config2/vmnet-only/vnetInt.h:25,
from /tmp/vmware-config2/vmnet-only/netif.c:46:
/tmp/vmware-config2/vmnet-only/vm_basic_asm_x86.h:62:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config2/vmnet-only/vm_basic_asm_x86.h:177:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config2/vmnet-only/vm_basic_asm_x86.h:346:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config2/vmnet-only/vm_basic_asm_x86.h:453:7: warning: "_MSC_VER" is not defined
/tmp/vmware-config2/vmnet-only/netif.c: In function ‘VNetNetIfSetup’:
/tmp/vmware-config2/vmnet-only/netif.c:201: error: ‘struct net_device’ has no member named ‘init’
/tmp/vmware-config2/vmnet-only/netif.c:202: error: ‘struct net_device’ has no member named ‘open’
/tmp/vmware-config2/vmnet-only/netif.c:203: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/tmp/vmware-config2/vmnet-only/netif.c:204: error: ‘struct net_device’ has no member named ‘stop’
/tmp/vmware-config2/vmnet-only/netif.c:205: error: ‘struct net_device’ has no member named ‘get_stats’
/tmp/vmware-config2/vmnet-only/netif.c:206: error: ‘struct net_device’ has no member named ‘set_mac_address’
/tmp/vmware-config2/vmnet-only/netif.c:207: error: ‘struct net_device’ has no member named ‘set_multicast_list’
make[2]: *** [/tmp/vmware-config2/vmnet-only/netif.o] Error 1
make[1]: *** _module_/tmp/vmware-config2/vmnet-only Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-4-generic’
make: *** http://vmnet.ko Error 2
make: Leaving directory `/tmp/vmware-config2/vmnet-only’
Unable to build the vmnet module.[/text]

ぱっとみ、struct net_device が変更になって、メンバがないんだろうなー、という感じ。
調べてみると、ubuntu9.10になってカーネルのバージョンが2.6.31.14とかに上がったことで、struct net_deviceが変更になってりる?ぽい。
何か多少直せば動きそうだったので、試しにソースをいじってみたらコンパイルは通った(正常動作してるかは知らないw)

適当に修正してみた

直したところは他にもあるが、おそらく以下の部分でコンパイルは通る気がする。
net_deviceが変わったカーネルのバージョンやらそれぞれポインタ設定するところがあってるのか、全然確認していません。
[text]diff -Nurp vmnet-only/netif.c vmnet-only_mod/netif.c
— vmnet-only/netif.c 2009-03-27 15:10:04.000000000 +0900
+++ vmnet-only_mod/netif.c 2009-10-15 21:04:54.000000000 +0900
@@ -193,11 +193,28 @@ VNetNetifTxTimeout(struct net_device *de
*
*———————————————————————-
*/
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+static const struct net_device_ops vm_netdev_ops = {
+ .ndo_init = VNetNetifProbe,
+ .ndo_open = VNetNetifOpen,
+ .ndo_start_xmit = VNetNetifStartXmit,
+ .ndo_stop = VNetNetifClose,
+ .ndo_get_stats = VNetNetifGetStats,
+ .ndo_set_mac_address = VNetNetifSetMAC,
+ .ndo_set_multicast_list = VNetNetifSetMulticast
+};
+#endif
+
+

static void
VNetNetIfSetup(struct net_device *dev) // IN:
{
ether_setup(dev); // turns on IFF_BROADCAST, IFF_MULTICAST
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+ dev->netdev_ops = &vm_netdev_ops;
+#else
dev->init = VNetNetifProbe;
dev->open = VNetNetifOpen;
dev->hard_start_xmit = VNetNetifStartXmit;
@@ -205,6 +222,7 @@ VNetNetIfSetup(struct net_device *dev)
dev->get_stats = VNetNetifGetStats;
dev->set_mac_address = VNetNetifSetMAC;
dev->set_multicast_list = VNetNetifSetMulticast;
+#endif[/text]

・編集するは以下の手順

  1. VMware-server-2.0.1-156745.i386.tar.gzを展開
  2. できあがったフォルダ「vmware-server-distrib」の中の「 lib/modules/source 」を開いて
  3. vmnet.tarを展開
  4. 展開された「vmnet-only」を開いて
  5. 「netif.c」を編集して上の修正を入れる。
  6. lib/modules/source に戻り、
  7. vmnet-onlyを右クリックして「Compress」
  8. ファイル名を「vmnet」、圧縮方法を「 .tar」にして、sourceに作成する。

その後、再度インストールをやり直せばいいかもしれません。

さてさて、次は9.04から治せないでいる以下の問題を確認してこよう。。。

Ubuntu9.04起動時、VM自動起動後、ネットワークをoff/onしないとVMがネットワークに繋がらない
電源Off時、VMが自動終了してくれない。
突然落ちた感じになり、次の起動時にVMWareServer2自体がうまく動作しない
これは、電源Off時にスクリプトで先にVMを終了命令投げて、30秒くらい待ってから電源Offるようにしてる。

これって、デスクトップ向けに起動と終了を早くしたがために、まともに起動&終了処理する時間がないからなのだろうか・・・

#追記
上の起動と終了時の問題は9.10だと発生しませんでした。わーい。

ibookにubuntu9.04をインストール

久しぶりな更新。最近はもっぱらWindowsさんにはさようならしてUbuntu生活。

〜ibook(ppc)にubuntu9.04を入れたメモ〜
機種名はなんだろうな。ibook G4? うーん。箱とか説明書を実家においてきちゃったからいまいちわからない。

動作の方は現状結構安定している。
今まではUbuntuやXubuntuをインストールして動いても、ちょっと触ってるとフリーズすることが多かったが、今は色々起動しても大丈夫です。
でも、netbook-remixいれてみたら、グラフィック性能が足りないのか画面が変だわ、ウィンドウは最大化されるわ もううざいのですぐやめた。

1.インストール
結構大変だった。
portsからppc版の9.04をダウンロードしてCDに焼き、インストール。

通常インストールすると、インストール後のログイン時に正常なユーザー名とパスワードを入れてもログインできない。
キーマップでも違うのか?
色々選択して試したけどよくわからない。

というわけで、インストール時に、「expert」指定でキーボードをGenericの106あたりを設定(あんまり覚えてないが)
あとは、イメージを選ぶところで、linux-powerppcではなくて、linux-image-xxxx-ppc というのを選択。linux-powerppcでは、起動してくれなかった。

2.インストール後
あいかわらず、インストール後も起動しない。
bootのときに

Linux break=top[ENTER]

として、Busyboxに入る。
んで

echo “xres=1024
yres=768” > /etc/usplash.conf

として、exit

(ダメな時は modprobe ide_core も必要かも?)

3.起動後
/etc/usplash.confに

xres=1024
yres=768

を書き込んで

sudo update-initramfs -u -k all

Xはあった気がするようなないような。なかったかな。。。
apt-get install ubuntu-desktopとかでインストール。

Xとか他アプリケーションを入れたりなんだりしてると、また起動しなくなるかも。そんときは、またBusybox使って起動して、設定をかきかえる。

4.無線LAN(GW-US54GXS)

最初から認識はされているみたい。
dmesgをみると、firmwareがロードできないっていってるので、以下からzd1211-firmwareをダウンロード

http://sourceforge.net/project/showfiles.php?group_id=129083

解凍してできたフォルダをzd1211にリネームして、/lib/firmwareにおく。

最後に、ネットワークの設定だが、gnomeのネットワークマネージャではうまくいかなかったので、apt-get install wicd でインストール。
設定して無事つながる。

参考:YANO’s digital garage – PLANEX GW-US54GXS

5.XDMCPでネットワークログオン

家で使う場合、メインのPCにネットワークログオンして使った方がPCがはやいのでいいし、ibookも処理をほとんどしないから静かでいい。
普通にできた。ただ、無線LANだとちょっと重い。11nでできるならいいかも。

@まだやってないこと。
—-
GW-US300MiniS
これを使えりゃ家で11nでうほほーい。だが、Linuxのドライバでは300M(デュアルモード?)はまだ無理っぽいことをみたきがする。
PPCでなければ、いろいろやれば動作するっぽいことは見つけたが、PPCでどうなるかはわからない。

トイプードル フォー ♂ の日常 | GW-US300MiniSをUbuntu 9.04 Jauntyで使ってみる

無線LAN USB アダプタ Planex GW-USMicroN を Ubuntu で使う

ubuntuアップデートしてたらvmwareが起動しなくなった

updateしてたらVMWare起動しなくなった(ノД`)
カーネルが更新されて、vmware-config.plが必要なんだけど、カーネルのbuildがgcc-4.2.3なのに、お前が使ってるgccは4.2.4ですよー、なんていいやがる。
しょうがないのでついでにVMware2をダウンロードして、gccを一時的に4.2.3にして、入れなおした。
gccは参考サイト+linux-headerのバージョンが違ったのでそこ修正。
vmware2は持ってきて展開してインストールでOK。ubuntuの場合administratorのユーザーをrootから使えるアカウントに変更する必要あり。

相変わらず世の中のすばらしい方々に感謝です。

古いgccの入れ方:http://d.hatena.ne.jp/nikumanhr/20061204/1165258010
VMWare2のUbuntuでの注意点:http://d.hatena.ne.jp/limitusus/20080925/1222358124

xubuntu8.04rcをibookにいれてみたw

あと数日で正式リリースだってのにいれてみちゃった。まぁ、どうせ最先端の機能は使わないんでなんでもいいんだけどね。。。

で、ubuntuは重くてきちーので初のxubuntuをいれてみることにしました。
hardy-alternate-powerpc.isoを焼き焼きして、普通にインストールして、さぁ起動。

はい。画面まっくろ。起動しない。

さぁ、どうすりゃいいのか。と。実のところ何度もやってるからもういいんだけど・・・

うちの現象は

boot:

からそのまま行くと画面真っ黒な状態。
この場合、まずはboot:で 「 Linux break=top 」します。ちなみに、先頭はLだよ! 「 l 」じゃないよ。あと「=」も意外とめんどい。まぁ、いろいろ押しながら記号のところ押しまくって探してみるといいですね。

すると、Busyboxに入るので、

(initramfs) echo “xres=1024
>yres=768″>/etc/usplash.conf

を入力します。
よく modprobe ide_core って書いてるけど、それはいらないかも。やっといても損はナイw

入力し終わったらexitで抜けると、たぶんいけます。

起動したら、ブラウザやUbuntuを楽しむ前に

/etc/usplash.conf

を編集して、さっきと同じ行を追加してやります。
そしてすかさず

$ sudo updete-initramfs -u -k all

これで再起動しても設定が反映されます。
が、どうもたまにだめになるらしい?
だめになったらまた同じことすれば一応いいはず。

というわけで、ubuntu ppc版いれて、起動しても画面真っ黒で起動しないときは

1.起動時に
boot:Linux break=top[ENTER]

2.BusyBoxで
cat echo “xres=1024[ENTER]
yres=768” > /etc/usplash.conf[ENTER]
exit[ENTER]

3.起動後、ターミナルで、sudo vi /etc/usplash.conf して 以下を追加
xres=1024
yres=768

4.ターミナルで以下を実行
sudo updete-initramfs -u -k all

以上!

ubuntuでWindowsXPを使う VMPlayer編

ubuntu7.04でVMPlayerを使ってWindowsXPを使う。
再起動してWindowsを起動しなおすのはめんどうなので、ubuntuから利用できるようにする。

■手順
1.Synapticマネージャで「VMPlayer」をインストール(VMWare公式サイト(http://www.vmware.com/download/player/)からダウンロードしてもOK)
2.qemuをインストール
 sudo apt-get install qemu

3.仮想ディスクを作成(最後の10Gは仮想ディスクで使う容量)
 qemu-img create -f vmdk winxp.vmdk 10G

4.VMplayerの設定ファイルを下記の内容で作成 ファイル名は「***.vmx」(winxp.vmx などわかりやすいファイル名で。)

#!/usr/bin/vmware
config.version = “8”
virtualHW.version = “3”
memsize = “512”
ide0:0.present = “TRUE”
ide0:0.fileName = “winxp.vmdk”

ide1:0.present = “TRUE”
ide1:0.fileName = “auto detect”
ide1:0.deviceType = “cdrom-raw”
#floppy0.fileName = “/dev/fd0”
ethernet0.present = “TRUE”
ethernet0.connectionType = “nat”
usb.present = “TRUE”
sound.present = “TRUE”
sound.virtualDev = “es1371”
displayName = “Windows XP”
guestOS = “winxppro” # Windows XP Professional
nvram = “winxp.nvram”
scsi0:0.redo = “”
ethernet0.addressType = “generated”
uuid.location = “56 4d 15 c6 39 c1 66 6a-74 41 4d b9 6c 25 be 6c”
uuid.bios = “56 4d 15 c6 39 c1 66 6a-74 41 4d b9 6c 25 be 6c”
ide1:0.autodetect = “TRUE”
ethernet0.generatedAddress = “00:0c:29:25:be:6c”
ethernet0.generatedAddressOffset = “0”
checkpoint.vmState = “winxp.vmss”
tools.remindInstall = “TRUE”
ide0:0.redo = “”
 

5.WindowsXPのインストールディスクをCDROMドライブに入れてvmplayerを4で作った設定ファイルを使って起動する。

■使い方
 VMPlayerが問題なく起動すれば、特に説明の必要はなく使えるはず。
 上記の順番でやればWindowsXPのインストール画面が表示され、ほんとそのまんまインストールができる。

■ネットワークの設定
 特に拘らなければDHCPでOK。 実際のネットワークが静的IPでもDHCPでいけます。
 デバイスやらいろいろと設定(*.vmxの記述かな?)すれば静的IPも使えるみたい。
 VMWareのネットワークについてはこちら→ VMware3.0 の Network の設定方法

■参考
本当に無償で使える「VMware Player」 — Weboo! Returns.

ページレイアウトツール Scribus

ページのレイアウトツール。でしょうか? DTPツールっていうと怒られるってどこかに書いていましたw
日本語の入力に正式に対応していないので、日本語を入力しているとぽんぽん落ちるのが悲しいけど、コピペすればなんとかいける。
でも、なんとかって程度なので、ちょっと文章を直そう、とか思っていじると、ハイ、さようなら。
あとマシンパワーも多少必要かも。

scribus.jpg

■インストール
ubuntuのリポジトリにあるので、

sudo apt-get install scribus scribus-template

で、再起動するとOK。
scribus-ng が開発版となっている。

しかし、ubuntuのリポジトリのものはちょっと古い。

sudo gedit /etc/apt/sources.list でリポジトリ追加
deb http://debian.scribus.net/debian/ feisty main non-free
deb http://debian.tagancha.org/debian/ feisty main non-free
これが最新版。
最新版にもscribusとscribus-ngがある。最新版の安定版はubuntuリポジトリのよりもかなり使い易いと思う。

■参考
公式サイト http://www.scribus.net/
Linux Salad: Scribusでパンフレットやニュースレターを制作する

LinuxSalad様は他にも色々アプリケーションを紹介されてます。参考になります。

音楽配信のサーバー SHOUTcast

別に使わないのだが時間があったのでubuntu7.04サーバーの方に入れてみた。

SHOUTcastバージョン 1.9.8 

1.ダウンロード
http://www.shoutcast.com/

2.sc_serv_1.9.8_Linux.tar.gzを解凍

3.試しに動かしてみる
./sc_serv
で動かしてみる。
成功したら、
*******************************************************************************
** SHOUTcast Distributed Network Audio Server
** Copyright (C) 1998-2004 Nullsoft, Inc.  All Rights Reserved.
** Use “sc_serv filename.ini” to specify an ini file.
*******************************************************************************

Event log:
<07/24/07@12:00:57> [SHOUTcast] DNAS/Linux v1.9.8 (Feb 28 2007) starting up…
<07/24/07@12:00:57> [main] pid: 4491
<07/24/07@12:00:57> [main] loaded config from sc_serv.conf
<07/24/07@12:00:57> [main] initializing (usermax:32 portbase:8000)…
<07/24/07@12:00:57> [main] No ban file found (sc_serv.ban)
<07/24/07@12:00:57> [main] No rip file found (sc_serv.rip)
<07/24/07@12:00:57> [main] opening source socket
<07/24/07@12:00:57> [main] source thread starting
<07/24/07@12:00:57> [main] opening client socket
<07/24/07@12:00:57> [main] Client Stream thread [0] starting
<07/24/07@12:00:57> [source] listening for connection on port 8001
<07/24/07@12:00:57> [main] client main thread starting

こんな感じの出力。

4.動きそうなら、SHOUTcast用のユーザーを作成
sudo adduser –HOME /usr/local/shoutcast

解凍したファイルがあるところで
sudo shoutcast:shoutcast *
sudo mv * /usr/local/shoutcast

5.設定

sc_serv.confを編集
——————————————-
MaxUser=32      …     最大接続数
Password=changeme     …     DJパスワード設定
PortBase=8000     …     接続ポート設定 ※実際は次の番号(8000なら8001)も使用する
; AdminPassword=adminpass     …     アドミンパスワード(コメント外して変更
NameLookups=0     …     DNS逆引き設定 0=無効 1=有効
PublicServer=default     …     このままだとyp.shoutcast.comに接続されるのでneverへ変更
; BanFile=sc_serv.ban     …     ban ip listファイル(コメント外す
; RipFile=sc_serv.rip     …     reserve ip listファイル(コメント外す
——————————————-
参考:ネットラジオのススメ Linuxでラジオ鯖(SHOUTcast Server編) <http://spill.jp/linux_shout.html>

6.起動
sudo su shoutcast -c “/usr/local/shoutcast/sc_serv” > /dev/null 2>&1 &

この起動のさせ方は自信ない・・・。
参考にさせてもらった「ネットラジオのススメ Linuxでラジオ鯖(SHOUTcast Server編) <http://spill.jp/linux_shout.html> 」をubuntuでそのまま動かしただけだが、> /dev/null 2>&1 & の 2以降の意味がわからないorz
shoutcastはルートで動かさなくてもいいのでユーザーshoutcastで動かすのがいい、と思われる。

7.停止
参考にしたところもよくわからないらしいので、psでプロセスIDを確認してKILLする。

■shoutcastの自動起動
せっかく作ったshoutcastユーザーで実行するにはどうしたらいいのだろう・・・

単に自動起動するだけなら

/etc/rc.local

/usr/local/shoutcast/sc_serv

を追加すればOKだが、折角のshoutcastユーザーはいずこえ・・・。。。