ubuntu 16.04LTS にIntel QuartusII 18.1 を導入したのですが、そのままだと嬉しくなかったので...メモです。
QuartusIIの設定が記憶されない...
QuartusIIをひとまず起動して、終了します。その際、ホームディレクトリに作成される設定ファイルの所有者を変更します。
ちなみに「hhh04286.hhh04286」は皆様がお使いの「ユーザ名.所属グループ」に差替えて下さい。
Yuka[hhh04286]:~% cd
Yuka[hhh04286]:~% chown -R hhh04286.hhh04286 .altera.quartus
Visual Studio Code を お気に入りエディタとして使用できない...
QuartusIIは独自の共有ライブラリを使用することから、vscodeが正常起動しません。システムの共有ライブラリを使うよう設定します。
適当な場所に以下のファイルを置いて下さい。(ex) /home/hhh04286/bin/vscode.sh
#!/bin/sh
LD_LIBRARY_PATH="" /usr/bin/code $*
ファイルに実行権限を付与します。
Yuka[hhh04286]:~% chmod +x vscode.sh
QuartusIIを起動。Tools->Options->Preferred Text Editorを選択して、以下の内容を設定します。
"/home/hhh04286/bin/vscode.sh" -g %f:%l
普段YAMAHAのネットワークプレーヤ NP-S2000で音楽を聞いています。
iPad ProにNETWORK PLAYER CONTROLLERをインストールして便利に使えていたのですが、iOSを11.4.1に更新してから?アプリがプレーヤを見つけることができず、Demoモードでしか起動しなくなりました。
アプリも更新されず仕方なしに古いAndroid端末でも買おうかと諦めていたのですが、なんとなく悪あがきでNETWORK PLAYER CONTROLLERの設定→マニュアルIPリストにNP-S2000本体とDLNAサーバの各IPアドレスを登録することで使用できるようになりました。
無駄出費が重なっていたので、助かりました...
4月から超A&G+が録音できなくなりました...
いつまでも番組表の不具合は解消されませんが、録音については6.0.4で修正されたらしく4.5からバージョンアップしてみました。(なんか今みてみると4.5系でも修正リリースがでてますね...)
どうも素直には4.5系からのバージョンアップはできない?らしく、導入から2年経っていることもあり、せっかくなのでハードディスクも交換しての新規インストールを行いました。
例によってAmazon Cloud DriveやMastodonの新機能は設定していませんが、16-04-19のサスペンド機能の追加やキャプチャ機能の無効化はひとまずそのまま使用できそうです。
なんか5時間おきに実行されるmaintenancedb.plの処理が新たに追加されてはいますが、恐らく大丈夫でしょう。
今回はradikoプレミアムのログイン設定を追加しました。
関西圏なので田村ゆかりの乙女心 症候群や、堀江由衣の天使のたまごが放送圏外なのです。せっかくなので、これもfoltiaにおまかせします。
foltiaのradiko録音機能は /home/foltia/perl/tool/rec_radiko.sh で処理されていますが、すでにプレミアムのログイン機能を有しているため、本ファイルの33行目付近にradikoのサイトで登録したメールアドレスとパスワードを追加します。
###
# radiko premium
###
mail="xxxx@xxxx.ne.jp" # <= 追加
pass="xxxxxx" # <= 追加
if [ $mail ]; then # <= 既存コード。変更しない
あとはfoltiaのメニュー画面の「設定・管理」->「チャンネル管理」画面で無効となっている文化放送を編集。受信可否項目を「可」とするだけです。
設定画面からEPG手動更新するか、1日待てば番組表からの予約も可能となります。
超A&G+の番組表が表示されない不具合を対策予定とのお知らせがあったので、ひとまず4.0.12から4.5.1へ更新してみました。
4.0.12 → 4.5.0 → 4.5.1 更新後に下記4.0.12と同じ設定を再度行うことで、サスペンドの自動化やキャプチャ処理の無効化も対応できています。新機能のAmazon Cloud Drive対応は確認していません。
また、4.0.12ではIntel DESKTOP BOARD D2550DC2で使用したときに、サスペンドに失敗するためカーネルの再構築が必要でしたが、4.5.1では標準カーネルでのサスペンドが可能になっていました。
あとは超A&G+の番組表の不具合修正がリリースされることをお待ちするだけです...この不具合のせいで能登麻美子 おはなしNOTEがキーワード録画されず、少し不便。
foltia ANIME LOCKER 4.0.12 導入後の設定をメモです。
- サスペンドの環境設定
PT2, PT3のドライバに対してサスペンドからの復帰を可能にします。
[/etc/pm/config.d/pt2]
SUSPEND_MODULES="pt1_drv"
[/etc/pm/config.d/pt3]
SUSPEND_MODULES="pt3_drv"
ファイル追加後rootにて「pm-suspend」を実行してサスペンドできること。更に電源ボタンやキーボード操作等でサスペンド復帰後に問題なく録画できることを確認します。
サスペンドの自動化設定
Foltiaの番組予約はATを使ってスケジュールされていることから、ATのJOBリストを取得してサスペンド可能かを10分毎に判断し、可能であれば次回番組予約時間を復帰時間に設定してサスペンドします。
サスペンドに入る判断は、実行中のFoltiaプロセス, 次回番組予約, ネットワークインタフェースの送信レート, ログイン状況を総合的に判断しています。復帰時間は次回番組予約の30分前としています。
また、早朝3:00〜6:00まではFoltiaの定期処理が走るため、予約の有無とは関係なく復帰時間としています。
[/root/suspend.sh]
#!/bin/bash
CHKTIM=1200
# サスペンドとする残り時間(秒)
THRESTIM=3600
# レジューム準備時間(秒) ※ THRESTIM > RESUMTIMとすること。
RESUMTIM=1800
# サスペンドとしないネットワーク送信レート/CHKTIM(Byte)
FOLTXRATE=100000
# Foltiaデータベース更新開始時間(crontab -lで表示されるもの)
FOLCRON1=03:00
FOLCRON2=06:00
# Foltia番組表更新開始時間(分)
FOLCRON3=50
SUSPEND=/usr/sbin/pm-suspend
ALARM=/sys/class/rtc/rtc0/wakealarm
# 引数の時刻から現在の秒数を取得する
# [引数]
# $1 : 次回予約時間
# [戻値]
# 0 : データ無
# 0以下 : 処理秒数
# 0以上 : 残り秒数
GetRsvTime () {
NOWT=`date --rfc-3339='seconds' | cut -b 1-16`
if [ -z "$1" ]; then
diff="0"
else
diff=$(expr `date -d"$1" +%s` - `date -d"$NOWT" +%s`)
fi
echo "$diff"
}
# 次回FoltiaのCron処理開始時間を取得する
GetFolTime () {
temp1=`date -d"$FOLCRON1" +%s`
temp2=`date +%s`
if [ $temp2 -gt $temp1 ]; then
temp="`date --rfc-3339='date' -d +1days` $FOLCRON1"
else
temp="`date --rfc-3339='date'` $FOLCRON1"
fi
echo "$temp"
}
# 念の為、Foltiaプロセスが実行中でないことを確認する
# [戻値]
# 0 : プロセス無
# 0以上 : プロセス有
GetSusChk () {
CNTREC=`ps -A | grep recwrap | wc -l`
CNTPRE=`ps -A | grep folprep | wc -l`
CNTPST=`ps -A | grep captureimagemaker | wc -l`
CNTCR0=`ps -A | grep schedulecheck | wc -l`
CNTCR1=`ps -A | grep cron_foltia_dayly | wc -l`
CNTCR2=`ps -A | grep syobocalxml | wc -l`
echo `expr $CNTREC + $CNTPRE + $CNTPST + $CNTCR0 + $CNTCR1 + $CNTCR2`
}
# ETH0の送信バイトを抽出
GetTxBytes () {
echo `ifconfig eth0 | grep "TX bytes" | cut -d ':' -f 3 | cut -d '(' -f 1`
}
# ネットワーク送信レートでのifconfig出力メッセージ対応
LANG=C
while true
do
# ネットワーク送信レート確認準備
TX1=`GetTxBytes`
# 次回サスペンド処理を実行するまでの待機時間を設定する
sleep $CHKTIM
# ネットワーク送信レートを確認する
TX2=`GetTxBytes`
SCHKN=1
TXRATE=`expr $TX2 - $TX1`
if [ $TXRATE -ge 0 ] && [ $TXRATE -lt $FOLTXRATE ]; then
# False (規定値以下であればサスペンド可能)
SCHKN=0
fi
# ログイン状態の確認を行う
if [ `who | wc -l` -gt 0 ]; then
# True(サスペンドしない)
SCHKL=1
else
SCHKL=0
fi
# Foltiaのデータベース更新開始までの秒数を算出する
t1=`GetFolTime`
let COLT=`GetRsvTime "$t1"`
# ATコマンドのキュー情報から次回予約開始までの秒数を算出する
t1=`at -l | cut -f 2 | cut -d ' ' -f 1-2 | sort | sed -n -e 1p`
if [ -n "$t1" ]; then
let RSVT=`GetRsvTime "$t1"`
else
# 予約が無いため、無効値を設定する
let RSVT=`date -d +2days +%s`
fi
# EPG更新の確認を行う
NOWM=`date +%M`
if [ $NOWM -gt $FOLCRON3 ]; then
# True(サスペンドしない)
SCHK0=1
else
SCHK0=0
fi
# データベース更新の確認を行う
if [ `date +%s` -gt `date -d"$FOLCRON1" +%s` ] && [ `date +%s` -lt `date -d"$FOLCRON2" +%s` ]; then
# True(サスペンドしない)
SCHK1=1
elif [ $COLT -lt $THRESTIM ]; then
SCHK1=1
else
SCHK1=0
fi
# 予約の確認を行う
if [ $RSVT -lt $THRESTIM ]; then
# True(サスペンドしない)
SCHK2=1
else
SCHK2=0
fi
# 復帰時間を算出する
if [ $COLT -le $RSVT ]; then
WAKE=$COLT
else
WAKE=$RSVT
fi
WAKEDIFF=`expr $WAKE - $RESUMTIM`
SCHK=`expr $SCHK0 + $SCHK1 + $SCHK2`
SUSOK=`GetSusChk`
echo "**********"
echo `date`
echo "COLT=$COLT RSVT=$RSVT : WAKEDIFF=$WAKEDIFF"
echo "SCHK0=$SCHK0 SCHK1=$SCHK1 SCHK2=$SCHK2 : SCHK=$SCHK"
echo "SUSOK=$SUSOK"
echo "TXRATE=$TXRATE : SCHKN=$SCHKN"
echo "SCHKL=$SCHKL"
if [ $SCHKN -eq 0 ] && [ $SCHKL -eq 0 ] && [ $SCHK -eq 0 ] && [ $SUSOK -eq 0 ]; then
echo "SUSPEND $WAKE : date +%s -d +${WAKEDIFF}sec"
echo 0 > $ALARM
echo `date +%s -d +${WAKEDIFF}sec` > $ALARM
# cat /proc/driver/rtc
$SUSPEND
fi
done
上記ファイルを起動時に自動実行する為、/etc/rc.local の最後に下記処理を追加します。
/root/suspend.sh &
なお、Foltiaのブラウザ操作にて再起動を伴うような設定・管理処理を行うと/etc/rc.localファイルが上書きされてしまう為、そのような操作をした場合には確認・再追加が必要です。
キャプチャ処理を無効化
FoltiaにはCMカット機能やPodCastとの連携機能、画面キャプチャ表示機能等の便利そうな機能がありますが、これらの処理は録画終了後に多くのCPUリソースを使用します。
録画されたTSファイルのみがあれば良いという、私には不要の機能であり電気代も掛かる為、これらの機能を無効化します。
rootでfoltiaにログイン後、以下の処理を行います。
[root@foltia2 perl]# cd /home/foltia/perl/
[root@foltia2 perl]# chmod -x captureimagemaker.pl ipodtranscode.pl