ログイン
編集不可のページディスカッション情報添付ファイル
"clear/note/2012-04"の差分

MMA
12と13のリビジョン間の差分
2012-04-23 16:23:01時点のリビジョン12
サイズ: 2291
編集者: clear
コメント:
2012-04-30 16:06:58時点のリビジョン13
サイズ: 3042
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 78: 行 78:

== 04/30 ==
=== ウィンドウマネージャを選ぶ ===
要するに劣化版cdm。
{{{#!highlight sh
#!/bin/sh

sessions="dwm wm"
n=`echo $sessions | wc -w`

# $1: prompt
# $2: max value of input number
inputnum()
{
    while :
    do
        echo -n $1
        read num
        echo $num | grep -E '^[0-9]+$' > /dev/null # 先頭の0の扱いが甘い
        if [ $? -eq 0 -a $num -le $2 ]; then
            return $num
        fi
    done
}

echo 'Hello, master.'

echo "0: console"
i=1
for s in $sessions ; do
    echo $i: $s
    i=`expr $i + 1`
done

inputnum '>' $n
id=$?
if [ $id -eq 0 ]; then
    echo 'Login to console.'
else
    s=`echo $sessions | cut -d \ -f $id`
    exec xinit $s
fi
}}}

2012年4月

04/05

clangでbuildworld, buildkernel

04/07

  • PCは肌身離さず持ち運びましょう

04/09

  • FreeBSD: chpassでUIDを変更してもhome以下と/var/mailの所有権は変わらない。chownなりで変更

04/10

コンソールからのログイン時にstartxするか聞く

ディスプレイマネージャなんか要らないというあなたに。あふれるやっつけ感。

  • startup.sh

       1 #!/bin/sh
       2 
       3 # input y/n
       4 inputyn()
       5 {
       6     while :
       7     do
       8         echo -n "$1 [y/n]"
       9         read yn
      10         case $yn in
      11         y*) return 0 ;;
      12         n*) return 1 ;;
      13         esac
      14     done
      15 }
      16 
      17 echo 'Hello, master.'
      18 if inputyn 'login with x11?'; then
      19     startx
      20 fi
    
  • .bash_profileに追加:

       1 t=$(basename $(tty))
       2 case $t in
       3 tty*) bin/startup.sh ;;
       4 *) ;;
       5 esac
    

04/16

  • FreeBSD: csupに指定するsupfileをうっかり間違えたまま気づかないと大変なことになる
    • 9-STABLEな環境で8.2-RELEASEのソースを使っておもむろにビルドし始めたり

04/17

04/18

ibusが何かおかしかった話

ibus + mozcな環境で、一度ibus-daemonを起動した上で再起動しないと日本語入力が有効にならない状況に出くわした。原因はxsessionファイルでの環境変数設定だった。

export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE='ibus'
export QT_IM_MODULE='ibus' # ここがだめ
ibus-daemon -d -x

ibusを使う場合、QT_IM_MODULE=ximとする必要がある(portsのpkg-messageに書いてある)。修正したら普通に動いた。

  • 04/23追記: 修正後も上述の問題に出くわした。無関係、あるいは他にも原因がある?

04/30

ウィンドウマネージャを選ぶ

要するに劣化版cdm。

   1 #!/bin/sh
   2 
   3 sessions="dwm wm"
   4 n=`echo $sessions | wc -w`
   5 
   6 # $1: prompt
   7 # $2: max value of input number
   8 inputnum()
   9 {
  10     while :
  11     do
  12         echo -n $1
  13         read num
  14         echo $num | grep -E '^[0-9]+$' > /dev/null # 先頭の0の扱いが甘い
  15         if [ $? -eq 0 -a $num -le $2 ]; then
  16             return $num
  17         fi
  18     done
  19 }
  20 
  21 echo 'Hello, master.'
  22 
  23 echo "0: console"
  24 i=1
  25 for s in $sessions ; do
  26     echo $i: $s
  27     i=`expr $i + 1`
  28 done
  29 
  30 inputnum '>' $n
  31 id=$?
  32 if [ $id -eq 0 ]; then
  33     echo 'Login to console.'
  34 else
  35     s=`echo $sessions | cut -d \  -f $id`
  36     exec xinit $s
  37 fi

clear/note/2012-04 (最終更新日時 2012-04-30 16:06:58 更新者 clear)