■FedoraCore2での作り方■
◆6. 拡張機能の設定◆
【説明】
ここでは、あると便利な拡張機能の設定方法をレシピとして載せています。
6-1. sambaで録画データをWindows共有する設定
「/etc/samba/smb.conf」を編集しsambaの共有設定を行います。
標準の設定ファイルはバックアップし、新たに作成します。
[root@tvrecorder root]# mv /etc/samba/smb.conf /etc/samba/smb.conf.org
[root@tvrecorder root]# vi /etc/samba/smb.conf
|
[global]
unix charset = EUC-JP
dos charset = CP932
display charset = EUC-JP
workgroup = WORKGROUP →ワークグループ名を設定
server string = tvrecorder →サーバ名を設定
hosts allow = 192.168.1. →接続許可するIPを設定
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba/%m.log
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/false
winbind use default domain = no
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[public]
comment = Mpeg Site
path = /home2/mpeg →録画像保存場所を設定
public = yes
writable = yes
| 8tr>
sambaのユーザ登録を行います。まずLinuxにWindowsで使用しているユーザID&パスワードを登録します。以下は「tvuser」を追加した例です。
[root@tvrecorder root]# useradd tvuser
[root@tvrecorder root]# passwd tvuser
Changing password for user tvuser.
New UNIX password:
Retype new UNIX password:
|
次に/etc/passwdファイルをもとに smbpasswdを作成
[root@tvrecorder root]# cat \
> /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
|
rootだけが読み取り/書き込みを行えるようにSambaパスワードファイルのアクセス権を変更します。
[root@tvrecorder root]# chmod 600 /etc/samba/smbpasswd
|
次にユーザIDを登録(Linuxユーザである必要があります。)
[root@tvrecorder root]# smbpasswd -a tvuser
New SMB password:
Retype new SMB password:
|
画像保存先ディレクトリのパーミッション変更
[root@tvrecorder root]# chmod 755 /home2/mpeg ←読み込みだけさせる場合
[root@tvrecorder root]# chmod 777 /home2/mpeg ←読み書きさせる場合
※画像保存先ディレクトリのセキュリティが甘くなりますので注意してください。
|
sambaの起動と自動起動設定
[root@tvrecorder root]# service smb start
[root@tvrecorder root]# /sbin/chkconfig smb on
|
以上でsambaサーバの設定は完了です。上記設定の場合、「192.168.1.xx」のアドレスで「WORKGROUP」ワークグループに参加したWindowsパソコンに「tvuser」でログインし、以下のコマンドを「ファイル名を指定して実行」で実行すると「r:」ドライブに録画ディレクトリがマウントされます。
net use r: \\192.168.1.100\public
|
6-2. PCの電源ボタンを押すことで自動シャットダウンする設定
6-3. キーボードを抜いても起動が早くなるように
6-4. 起動時の自動録画テスト機能
録画サーバはまれに起動時にTVキャプチャカードのドライバの初期化が失敗することがありますので、起動時に一瞬録画のテストを行い、万一初期化が失敗していた場合に再起動を行うスクリプトを埋め込んでおきます。
また、この設定を行うことで起動時に録画に必要なモジュールがすべてメモリにロードされますので、予約時間にジャストタイムで録画が開始されます。
「/etc/rc.d/rc.local」の最終行に以下をすべて追加してください。
[root@tvrecorder root]# vi /etc/rc.d/rc.local
|
#Preload video Card
FILENAME=test.mpg
cd /root
rm -f $FILENAME
/usr/local/bin/record-v4l2.pl -c 8 -t 1 -i 6 -f ntsc-bcast-jp \
--output-settings 0 --directory-format "" -o $FILENAME
if [ ! -s $FILENAME ];
then
shutdown -r now
fi
|
6-5. 未使用時の自動シャットダウン機能
録画サーバを以下の条件がそろった場合に自動的にシャットダウンさせることで、
電気代の節約が期待できます。
- 起動して一時間以上経過している
- 録画予約がない
- 録画データのエンコード予約がない
- 誰もログインしていない
- apacheで録画予約操作をしていない
- samba,widzを使って録画データを見ていない
まず、上記条件を満たした場合のシャットダウンスクリプトを作成します。
「/root/checkacc.sh」として作成。
[root@tvrecorder root]# vi /root/checkacc.sh
|
#!/bin/bash
cnt=`uptime | sed -e 's/^.*up //' -e 's/, .*$//' | grep ":" | wc -l`
if [ $cnt -eq 1 ]
then
cnt=`ls /usr/local/mbrtv/booking/ | grep tv | wc -l`
if [ $cnt -eq 0 ]
then
cnt=`ls /usr/local/mbrtv/booking/ | grep en | wc -l`
if [ $cnt -eq 0 ]
then
cnt=`/usr/bin/who | wc -l`
if [ $cnt -eq 0 ]
then
cnt=`/bin/netstat -a | grep ESTABLISHED | wc -l`
if [ $cnt -eq 0 ]
then
echo "shutdown!"
/sbin/shutdown -h now
fi
fi
fi
fi
fi
|
作成したスクリプトを実行できるようにします。
[root@tvrecorder root]# chmod 700 /root/checkacc.sh
|
作成したスクリプトを10分毎に実行するようcronに登録します。
[root@tvrecorder root]# crontab -e
|
*/10 * * * * /root/checkacc.sh
|
以上でTV録画サーバの拡張機能の設定は完了です。ネットワーク上からのTV録画予約やWindows機からの録画データの鑑賞、メディアプレーヤを使ったテレビでの録画データ鑑賞が自由にできます。
|