玄箱をDebian(sarge/testing)化して、jukeboxにしようとする計画。基礎的情報は「玄箱」の項を参照。woody/stableでも音は鳴るのだが、alsaplayerのパッケージが古くて、あとからコマンドで制御できないので、sarge化してalsaplayerの新しいパッケージに対応しようということ。
(2004/08/31 14:14:00)
かぐやさんとこのやつでDebian(woody)化するところまでは「玄箱」の項を参照。
(2004/08/31 14:15:00)
apt-get install ntpdate
国内のntpサーバ:http://plamo.minidns.net/ntpsites.shtml
apt-get install locales
apt-get install samba swat
/etc/inetd.conf のswatの行を有効にする。inetdをHUP
[global] unix charset = EUCJP-MS dos charset = CP932 display charset = CP932 security = SHARE [share] comment = share path = /mnt/share force user = hoge force group = hoge read only = No guest ok = Yes
(2004/08/31 14:18:00)
apt-get install x-window-system
/etc/fstabの書き換え→mountでもにょもにょ(http://www.mlb.co.jp/linux/support-mld6/ext2pts.html)これをしないと、root以外でterminalが動かない。
(http://surf.ap.seikei.ac.jp/~nakano/linux/init.d.html)
(2004/08/31 14:19:00)
(2004/08/31 14:19:00)
~/.xinitrcと~/.twmrcの設定。
なるべく小さいのがいいと思って、「JY-PMUW」をJ&P京都寺町店で購入。
http://www.sanwa.co.jp/product/syohin.asp?code=JY-PMUBK&cate=1
黒いのもあったのならそっちの方が良かったなあ…。
バスパワーを使うHUBにはつなげられないということだったのだが、小さいものだしとりあえず100mAあれば大丈夫だろ、と思ったら案の定大丈夫だった。
modprobe input
modprobe hid
modprobe joydev
(2004/08/31 14:34:00)
<インターフェース>
<機能>
・teratermから手動でアレするスクリプトを書く
・ファイルシステムのコードを決定(EUCがよさげ)
・「送る」の部分をアレする。(出来合を使いまわす。)
なかなか8ビットコードを受け付けてくれなかったが、以下で解決。
http://plaza.rakuten.co.jp/search/diary/200404250000/
(2004/08/31 14:22:00)
/etc/init.d/vncserver
#! /bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/vncserver
NAME=vncserver
USER=ura
DESC="vncserver daemon"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
su $USER -c "/sbin/start-stop-daemon --start --quiet \
--pidfile $PIDFILE --user $USER \
--exec $DAEMON -- :1"
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
su $USER -c "/sbin/start-stop-daemon --stop --quiet \
--pidfile $PIDFILE --user $USER \
--exec $DAEMON -- -kill :1"
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
/etc/init.d/jslaunchd
#! /bin/sh
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/jslaunchd
NAME=jslaunchd
DESC="jslaunchd "
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
~/.xinitrcと~/.twmrcの設定。
(2004/08/31 17:11:00)
#!/bin/sh
JUKE_NUM=$1
if [ -r '/mnt/share/mp3/jukeno' ]
then
JUKE_AL_NO=`cat '/mnt/share/mp3/jukeno' `
if [ -r '/mnt/share/mp3/jukebox' ]
then
MAX_JUKE_NUM=`wc -l /mnt/share/mp3/jukebox | awk '{ print $1 }' `
#echo $MAX_JUKE_NUM
case $JUKE_NUM in
next) JUKE_AL_NO=$[$JUKE_AL_NO + 1]
if [ $JUKE_AL_NO -gt $MAX_JUKE_NUM ]
then JUKE_AL_NO=1
fi
JUKE_NUM=`awk "NR==$JUKE_AL_NO { print }" /mnt/share/mp3/jukebox
`
echo $JUKE_AL_NO > /mnt/share/mp3/jukeno
;;
prev) JUKE_AL_NO=$[$JUKE_AL_NO - 1]
if [ $JUKE_AL_NO -lt 1 ]
then JUKE_AL_NO=$MAX_JUKE_NUM
fi
JUKE_NUM=`awk "NR==$JUKE_AL_NO { print } " /mnt/share/mp3/jukebo
x`
echo $JUKE_AL_NO > /mnt/share/mp3/jukeno
;;
esac
fi
fi
echo $JUKE_NUM
if [ -d "$JUKE_NUM" ]
then cd "$JUKE_NUM"
alsaplayer -o oss -E *.mp3
elif [ -f "$JUKE_NUM" ]
#then DIST_DIR=`echo $JUKE_NUM | sed 's/[ ]/\\\\ /g' | sed 's/\/[^/]*$//' | sed
's/[/]/\\\\\//g' `\\/
then DIST_DIR=`echo $JUKE_NUM | sed 's/\/[^/]*$//' `/
cd "$DIST_DIR"
MAX_LINE=`wc -l "$JUKE_NUM" | awk '{ print $1 }'`
C_LINE=1
alsaplayer --clear
while [ $C_LINE -le $MAX_LINE ]
do
C_FILE=`cat "$JUKE_NUM" | tr -d '\\r' | nkf -e | sed $C_LINE!d `
alsaplayer -o oss -e "$C_FILE"
C_LINE=$[ $C_LINE + 1 ]
done
#DIST_FILE=`cat "$JUKE_NUM" | tr -d '\\r' | nkf -e | tr '\\\\' '/' | sed -e 's/^
/"/' -e 's/$/"/' | tr '\\n' ' ' `
#echo $DIST_FILE
#alsaplayer -o oss -E "$DIST_FILE"
fi
(2004/09/06 01:01:00)
2004/08/31 作成