2019年7月5日金曜日

動画圧縮し直しスクリプトをまた直した

Ubuntuのインストールし直しで色々な作業をしているが、今年直したばかりの動画圧縮し直しスクリプトもまた直した。

ffmpegのaacのエンコーダが変わったようで、エンコーダの指定を変更する必要があった。
また、サイズの取得に失敗するときがあったので、サイズの取得方法を強化した。
ついでに、出力ファイルがすでに存在している場合、ファイル名の末尾に"-<数字>"を付けるようにした。
$ source-highlight --out-format=html -i ~/bin/toH264.sh
#!/bin/bash
SRCFILE=$1
DSTFILE=$2

if [ -z "$DSTFILE" ]; then
    BASENAME=$(basename $SRCFILE)
    DSTFILE=${BASENAME%.*}.mp4
fi

DIRNAME=$(dirname $DSTFILE)
BASENAME=$(basename $DSTFILE)
i=0
while [ -e "$DSTFILE" ]; do
    i=$(( i +1 ))
    DSTFILE=$DIRNAME/${BASENAME%.*}-${i}.mp4
done

#---------------------------------------------------------------#
#  Extract informations from source video.                      #
#---------------------------------------------------------------#
CREATION_TIME=""
ENCODER=""
videoFormat=""

while read s; do
    s=$(echo $s | sed -e "s/^ *//g");

    if [[ "$s" == creation_time\ :* ]]; then
        if [ -n "$CREATION_TIME" ]; then
            echo "creation_time duplicated. Discard candidate $CREATION_TIME"
        fi
        CREATION_TIME=$( echo $s | sed -e "s/^[ \t]*creation_time[ \t]\+:[ \t]\+//g" )
    fi

    if [[ "$s" == encoder\ :* ]]; then
        ENCODER=$( echo $s | sed -e "s/^[ \t]*encoder[ \t]\+:[ \t]\+//g" )
    fi

    if [[ "$s" == Stream\ *:\ Video:* ]]; then
        videoFormat=$( echo $s | sed -e "s/^[ \t]*Stream \+#.*: \+Video: \+//g" )
    fi
done < <( ffprobe ${SRCFILE} 2>&1 )


echo creation_time=$CREATION_TIME, ENCODER=$ENCODER, videoFormat=$videoFormat

#exit 0
#CREATION_TIME=$(ffprobe $SRCFILE 2>&1 | grep "creation_time" | head -n 1 | sed -e "s/[ \t]*creation_time[ \t]*:[ \t]*//g")

echo SRC: $SRCFILE
echo DST: $DSTFILE
if [ -z "$CREATION_TIME" ]; then
    echo "No \"creation_time\" metadata. use ctime."
    CREATION_TIME=$(stat "$SRCFILE" | grep "^Change:" | head -n 1 | sed -e "s/^Change:[ \t]*//g" | sed -e "s/\.[0-9]* +.*$//g")
fi
echo CERATION_TIME: \""$CREATION_TIME"\"

#---------------------------------------------------------------#
# Auto bitrate                                                  #
#   H.264には、エンコード品質を表すBPP(Bit Per Pixel)という     #
#   指標がある。                                                #
#   BPPを用いて、ビットレートは以下のように計算される。         #
#                                                               #
#                       BPP x fps x width x height              #
#     bitrate[kbps] = ------------------------------            #
#                                  1000                         #
#                                                               #
#   H.264のBPPは、動画の動きの速さと、品質で以下のように        #
#   決まっている。                                              #
#                |               品  質                         #
#                |---------+---------+---------+--------        #
#                |   最高  |   高    |   中    |   低           #
#     -----------+---------+---------+---------+--------        #
#       高  速   |  0.225  |  0.175  |  0.125  |  0.100         #
#       中  速   |  0.200  |  0.150  |  0.100  |  0.075         #
#       低  速   |  0.175  |  0.125  |  0.075  |  0.050         #
#                                                               #
#           高速: スポーツまたはミュージックビデオ              #
#           中速: 映画                                          #
#           低速: ナレータ(ニュースや演説など)                  #
#                                                               #
#---------------------------------------------------------------#
#videoFormat=$( ffprobe ${SRCFILE} 2>&1 | \
#               grep "Stream \+#[0-9]:[0-9]: \+Video: \+" | \
#              sed -e "s/^ \+Stream \+#[0-9]:[0-9]: \+Video: \+//g" );

#bpp="0.225"
bpp="0.125"
width_height=$(echo ${videoFormat} | sed -e 's/^.*, \([0-9]\+x[0-9]\+\), .*$/\1/g')
if [[ ! "$width_height" =~ ^[0-9]+x[0-9]+$ ]]; then
    width_height=$(echo ${videoFormat} | sed -e 's/^.*, \([0-9]\+x[0-9]\+\) \+\[.\+\], .*$/\1/g')
fi
if [[ ! "$width_height" =~ ^[0-9]+x[0-9]+$ ]]; then
    echo "Unknown video size." 1>&2
    exit 1
fi

width=$(echo ${width_height}  | sed -e 's/ *\([0-9]\+\)x[0-9]\+ *$/\1/g')
height=$(echo ${width_height} | sed -e 's/ *\+[0-9]\+x\([0-9]\+\) *$/\1/g')
fps=$(echo ${videoFormat}    | sed -e 's/^.*, \+\([0-9.]\+\) \+fps,.*$/\1/g')

if [ -z "$width" -o -z "$height" -o -z "$fps" ]; then
    echo "cann't get information for bitrate. Use 8192kbps"
    vBitrate=8192k
else 
    echo "bpp=$bpp, width=$width, height=$height, fps=$fps"
    vBitrate=$(echo "scale=0; $bpp * $width * $height * $fps / 1000" | bc)"k"
fi

echo "bitrate=${vBitrate}"
#exit 0

#---------------------------------------------------------------#
# Convert video format                                          #
#---------------------------------------------------------------#
ffmpeg -i $SRCFILE -nostdin -y -acodec aac -profile:a aac_low -b:a 128k -ar 44100 -ac 2 -vcodec libx264 -profile:v main -b:v ${vBitrate} -pix_fmt yuv420p -f mp4 -metadata "creation_time"="$CREATION_TIME" -metadata "encoder"="$ENCODER" $DSTFILE

# No audio
#ffmpeg -i $SRCFILE -nostdin -vcodec libx264 -profile:v main -b:v ${vBitrate} -pix_fmt yuv420p -f mp4 -metadata "creation_time"="$CREATION_TIME" -metadata "encoder"="$ENCODER" -map 0:0 $DSTFILE

touch -r ${SRCFILE} ${DSTFILE}
Ubuntu 18.04のffmpegのaacエンコーダ指定にしてしまったので、16.04で使うなら以前のスクリプトを参考に、最後の方をかきかえろ。

なんか最近、linux関連記事ばかり書いているな…

2019年6月30日日曜日

肉を食べて元気に

雨が多く、うんざりする。
気分を盛り上げるために、またHERO'S武蔵浦和でビフテキをべてきた。
リブロースがおすすめのようなので、今回はリブロースにした。ソースは「にんにくレモン醤油」にした。

ソースをかけた直後のジュージュー。

音だけでも気分が高揚する。
ビフテキは、やっぱ、ごちそうの王様だね。

2019年6月21日金曜日

Ubuntu 18.04 で無理やりNemo RabbitVCS

2019/10/25 新しい方法をまとめました。Ubuntu 18.04 で無理やりNemo RabbitVCS#2を参照。

今月に入って、母艦もノートPCもUbuntu18.04に入れ替えたので、Touchpad indicatorの設定し直しNAS経由のプリンタサーバ設定をやり直している。

それ以前はノートPCではLubuntuを使っていたのだが、母艦はUbuntu16.04を使っていた。
Nautilusでは、CompactView(lsの表示に似たフォルダ表示)が使えないので、WebUpd8 team の Nemoと、そのRabbitVCS(言うならば、LinuxのTortoiseSVN)拡張を使っていた。

ノートPCも母艦もUbuntu18.04にしたので、またNemoを入れようとした。
しかし、Webupd8teamでは、18.04用のNemoを提供していないらしい。改めて調べ直すとUbuntuオフィシャルのやつを入れるそうだ。
やってみると、libcinamon-desktop4とかinstallされるが、Cinamonデスクトップ全部が入るわけではない。これならいいだろう。

ところが、nemo-rabbitvcsが入らない。っていうかオフィシャルには存在していないようだ。
なんてこったい。

NautilusではRabbitVCSが動くが、CompactViewがない。
NemoではCompactViewが動くが、RabbitVCSが動かない。

Nemoをデフォルトファイルマネージャにしようと思っていたのに、中途半端ならデフォルトとしては使えない。
なんとかならないかと、調べ始めた。

webUpd8teamのリポジトリから、無理やりnemo-rabbitvcsパッケージを得て、中を調べた。
以下のようにして、artful用のnemo-rabbitvcsのパッケージを取得する。
wget http://ppa.launchpad.net/webupd8team/nemo3/ubuntu/pool/main/n/nemo-rabbitvcs/nemo-rabbitvcs_3.6.0-1~webupd8~artful_all.deb

以下のようにして、パッケージのコントロール情報とファイルを展開する。
dpkg-deb -R nemo-rabbitvcs_3.6.0-1~webupd8~artful_all.deb artful
こんな感じに展開される。
$ tree artful/
artful/
├── DEBIAN
│   ├── control
│   └── md5sums
└── usr
    └── share
        ├── doc
        │   └── nemo-rabbitvcs
        │       ├── changelog.Debian.gz
        │       └── copyright
        └── nemo-python
            └── extensions
                └── RabbitVCS.py

中を見てみると、/usr/share/nemo-python/extensions/RabbitVCS.py を入れるだけだ。
これを然るべき場所にコピーするだけなら、手動でやってしまえばいい。難しいことではない。

必要な依存物が揃っているのなら、という条件がつくが...。

パッケージの依存物について見てみる。
$ dpkg-deb --info nemo-rabbitvcs_3.6.0-1~webupd8~artful_all.deb
 new Debian package, version 2.0.
 size 8582 bytes: control archive=665 bytes.
     592 バイト、   13 行      control              
     236 バイト、    3 行      md5sums              
 Package: nemo-rabbitvcs
 Version: 3.6.0-1~webupd8~artful
 Architecture: all
 Maintainer: Clement Lefebvre 
 Installed-Size: 35
 Depends: nemo (>= 1.1.2~), python-nemo (>= 1.0~), python-gi (>= 3.2.2~), rabbitvcs-core (>= 0.15)
 Section: devel
 Priority: optional
 Homepage: https://github.com/linuxmint/nemo-extensions
 Description: Nemo extension for RabbitVCS
  RabbitVCS is a set of graphical tools written to provide simple and
  straightforward access to the version control systems SVN (Subversion) and Git.
  This is the extension for the Nemo file manager (v1.1.2 or greater).
依存パッケージは、nemo, python-nemo, python-gi, rabbitvcs-core。

これらについて、install されているか見てみる。
$ dpkg -l nemo python-nemo python-gi rabbitvcs-core
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前           バージョン   アーキテクチ 説明
+++-==============-============-============-=================================
ii  nemo           3.6.5-1      amd64        File manager and graphical shell 
ii  python-gi      3.26.1-2ubun amd64        Python 2.x bindings for gobject-i
ii  rabbitvcs-core 0.16-1.1     all          Easy version control
dpkg-query: python-nemo に一致するパッケージが見つかりません
nemo, python-gi, rabbitvcs-coreは入っている(バージョンも問題ない)けど、python-nemoが入ってない。

このpython-nemoもwebUpd8teamのリポジトリにはある。それを取り出して同じように調べると、NemoをPythonで機能拡張するときに使うものだった。
これは、オフィシャルではnemo-pythonという名前でパッケージとして提供されている。
というわけで、オフィシャルのものをインストールする。
$ sudo apt install nemo-python
[sudo] xxxxxx のパスワード: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  gir1.2-nemo-3.0
以下のパッケージが新たにインストールされます:
  gir1.2-nemo-3.0 nemo-python
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
33.6 kB のアーカイブを取得する必要があります。
この操作後に追加で 259 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 gir1.2-nemo-3.0 amd64 3.6.5-1 [7,728 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 nemo-python amd64 3.6.0-1 [25.8 kB]
33.6 kB を 0秒 で取得しました (358 kB/s)
以前に未選択のパッケージ gir1.2-nemo-3.0 を選択しています。
(データベースを読み込んでいます ... 現在 951722 個のファイルとディレクトリがインストールされています。)
.../gir1.2-nemo-3.0_3.6.5-1_amd64.deb を展開する準備をしています ...
gir1.2-nemo-3.0 (3.6.5-1) を展開しています...
以前に未選択のパッケージ nemo-python を選択しています。
.../nemo-python_3.6.0-1_amd64.deb を展開する準備をしています ...
nemo-python (3.6.0-1) を展開しています...
gir1.2-nemo-3.0 (3.6.5-1) を設定しています ...
nemo-python (3.6.0-1) を設定しています ...
gir1.2-nemo-3.0も一緒に入った。
本来python-nemoというパッケージに依存しているのに、nemo-pythonをinstallしたので、dpkgの管理情報的には依存関係は満たされていない
しかし、/usr/share/nemo-python/extensions/RabbitVCS.py を動作させるのに必要なものは、全部入ったはずだ。

この状態で、さっきartful/に展開した usr/share/nemo-python/extensions/RabbitVCS.py を、/からのパスにコピーする。
$ sudo cp -a artful/usr /

これで、Nemoを起動すると、RabbitVCSが使えるようになっている。
エンブレムが見えるかな?

無理やりnemo-rabbitvcsを動かしたけど、問題があるかもしれない。
大切なソースコードだ。やるなら、自己責任で。
なんかあっても私は責任をとらない。

2019/06/21午後 わかりにくい表現を直した。
2019/06/23 厳密にはmainとrestrictedで配布されるものだけがオフィシャルである。
nemoやnemo-pythonはuniverseなので、厳密にはオフィシャルではない。
add-apt-repositoryで後から追加したリポジトリではないという意味で、ここでは「オフィシャル」と言う言葉を使っている。
2019/06/29 "artful"とすべきところを"artiful"と書いていた。直した。
正しい英語にはartifulという単語はない。しかし現代語的なもので、art + beautiful 的な意味で使われる。私は、"Artful Aardvark"(技巧に富んだツチブタ) を何故か"Artiful Aardvark"(芸術的に美しいツチブタ)という意味でとらえていた。つまりtypoではなく、勘違いだった。
2019/10/25 この方法では、RabbitVCSのいくつかの機能が動かない。
新しい方法を「Ubuntu 18.04 で無理やりNemo RabbitVCS#2」に書いた。
そちらを参照せよ。

2019年6月13日木曜日

NASのプリンタサーバのSMB

先週、少し書いたけど、最近ノートPCのOSを、Ubuntu18.04に換えた。
OSを変えたので、あれこれ設定をし直さないといけない。

プリンタの設定は、いつも面倒だ。
こんなこともあろうかと、ブログに書いておいた記事がある。 それを見ながら作業をした。
gnome-session-flashbackだからか、プリンタ設定用のU/Iが見つからないので、CupsのWeb I/F(ブラウザから"localhost:631")を使った。

プリンタの接続プロトコルを指定するとき、どういうわけか"smb"がない。
なんで?無くなったの? …いやさすがに、それはないだろう。
何かのパッケージが足りないのか?
SMBプロトコル関連で、入れてないものを考えると… smbclient かな?

以前はcifsでマウントする前に、smbclientで接続できることを常に確認していたが、今回は/etc/fstabをbackupしていたので、Copybackして戻していた。
そのため、smbclientパッケージをインストールしていなかった。
試しに端末エミュレータから、
sudo apt install smbclient
で、インストールして、ブラウザでCupsに接続し直してみると、
ビンゴ。SMBが現れた。

2017年は、偶然に避けていた。いや、偶然ではなく、慎重だったのだろう。
プリンタの設定は、2012年にもやっているし、母艦での設定もやっているので、慣れてきていて、だんだんたるんできていたのかもしれない。
Linuxも便利になったものだ。

2019年6月7日金曜日

HERO'S武蔵浦和がいきなりオープン

武蔵浦和駅のマーレのレストラン街に、ステーキハウス「ヒーローズ武蔵浦和」が、6/6(木)オープンした。
つい先日までピザ屋だった場所だ。

オープン当日、夕方にお店の前を通ったとき、行列になっていて入るのを諦めた。
今日は雨なので、客足も遠のくと期待して、お昼に行ってみた。

1ポンド(≒453g)が有名のようだが、年齢のせいかすっかり食が細くなった。その量は食べられないだろう。
量よりも美味しいものを食べたい。
300gのサーロインステーキ(2,180円)を注文した。
ご飯とサラダの大盛りが無料で、オニオンスープはおかわり自由。
ソースは、5種類から選べる。さっぱり感の「和風ソース」にした。

大盛りサラダとスープが先に来た。
サラダを先に食べていると、ジュージュー音をたててサーロインステーキが来た。
写真は和風ソースをかけた状態。

1ポンドが有名だけど、1ポンドばかりじゃなく、ふつうの大きさのステーキもある。
小さいやつなら値段も手頃。駅からふらっと行って、軽く食べるのもありだ。

2019年6月2日日曜日

Ubuntu 18.04で、タッチパッドを自動禁止

キーボードを使っているとき、うっかりタッチパッドに触れて、イライラするときがある。
特にFolio13-2000は、タッチパッドが中央にあり、ホームポジションでは右手とタッチパッドが干渉しやすい。
マウスを接続しているときは、タッチパッドは不要だ。
とはいえ、マウスがないときは、タッチパッドが使えないと困る。
ということで、マウスの有無でタッチパッドを自動的にOFF/ONできるといい。
(恒久的にOFFにするなら、synclientを使えばいいだろう)

Touchpad-indicatorを使えば、これを簡単に行える。
その方法について書く。

Install方法
まずは、PPAの追加。
sudo apt-add-repository ppa:atareao/atareao
実行後、確認メッセージが表示される。Enterキーを押して、PPAの追加作業を続行する。

PPAが追加できれば、あとはupdateとinstallだ。
sudo apt update
sudo apt install touchpad-indicator
これで、Touchpad-indicatorが使えるようになる。

起動方法
ウチでは、Ubuntu18.04のデフォルトのDesktopではなく、"gnome-session-flashback"を使っている。
そのため、"gnome-session-flashback"での起動方法を書く。
install後に、メニューの「アクセサリー」の中に、"Touchpad Indicator"が作られている。

これをクリックすれば、Touchpad-indicatorが起動する。
パネル内のIndicator appletに、Touchpad-indicatorが加わる。
左クリックしてポップアップを表示させ、「設定」をクリックする。
そうすると、ダイアログが表示される。
(上記は、ついさっき取ったスクリーンショット。インストール直後&再起動前は、全部英語表示だったように記憶している)

一番上の「マウス接続時はタッチパッドを無効にする」のスイッチを「オン」にする。

つづいて、「一般的なオプション」タブを開いて、「自動起動」をオンにする。
この状態で、一旦ログアウトして、ログインし直すと、自動的にTouchpad-indicatorが起動し、マウスを接続するとタッチパッドが禁止(OFF)になる。


つい最近、LubuntuからUbuntuに変えた。
そうしたら、Touchpad-indicatorが自動で入ってなかった。
Lubuntuの頃には使っていたが、その時もinstall直後にうまく行かず、いつの間にか動くようになっているのを再発見して使うようになったので、やり方をまとめていなかった。
そのため、今回もう一度最初から調べ直した。またLubuntuだけでなくUbuntuでも使える方法だったので、メモ代わりにブログに書いた。
ここで使用しているPPAは、本家Launchpadで管理しているので、信用できると思う。

2019年5月29日水曜日

w3mでgoogle検索が使えない#2

w3mで、www.google.comに行って、"w3m"を検索した時のページをALT+Sで保存して、その内容を見てみた。

内容は、なぜかバイナリ。
$ hexdump -C search.txt | head
00000000  1f 8b 08 00 00 00 00 00  02 ff d4 58 e9 56 db 48  |...........X.V.H|
00000010  16 7e 15 b5 98 a1 ad c1  96 e5 1d 24 44 8e 59 12  |.~.........$D.Y.|
00000020  08 10 b6 40 e8 a4 d3 39  25 a9 24 15 d6 86 54 c2  |...@...9%.$...T.|
00000030  36 46 6f d0 f3 0c f3 94  f3 7f 6e 55 49 5e 20 30  |6Fo.......nUI^ 0|
00000040  7d e6 df c4 b1 29 dd aa  ba 75 97 ef 2e a5 ed 5f  |}....)...u....._|
00000050  9c d8 a6 d3 04 4b 3e 0d  83 9d 6d f6 2b 05 28 f2  |.....K>...m.+.(.|
00000060  4c f9 0e c9 f0 8c 91 b3  b3 1d 62 8a 24 db 47 69  |L.........b.$.Gi|
00000070  86 a9 29 5f 7f 7e df d8  94 2b 6a 1c 51 1c 01 b5  |..)_.~...+j.Q...|
00000080  49 42 e4 e1 ac 69 a5 28  72 48 e4 35 bd 38 f6 02  |IB...i.(rH.5.8..|
00000090  ec 35 5b 93 6a f8 23 a3  30 87 52 e7 87 1d 07 71  |.5[.j.#.0.R....q|
これは、圧縮データ?と思って、fileコマンドで確認すると、
$ file search.txt
search.txt: gzip compressed data, max compression
やっぱり、gzip圧縮データだ。

zcat してみると、HTML文が見えた。
$ zcat search.txt | head
<!doctype html><html lang="ja"><head><meta charset="UTF-8"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png"...(省略)
ただし、1行で書いてあって、非常に読みにくい。
sedを使って、'</a>'の後に改行を挿入して、<a>タグが1つの行になるようにした。
そうしておいて、'<a 'を含む行をgrepで取り出して、行頭から'<a 'の直前までを削除して、いくつかの行を見てみた。
(日本語がバケバケだったので、nkfも通した)

これは、ハイパーリンクとして使えるやつ。
<a href="/search?inlang=ja&amp;hl=ja&amp;gbv=1&amp;ie=UTF-8&amp;sa=G&amp;q=%E6%97%A5%E6%9C%AC%E8%AA%9E&stick=H4sIAAAAAAAAAOPgE-LQz9U3sDCrMlMCs4zjLYu0VDLKrfST83NyUpNLMvPz9Ivz00rKE4tSrRLLEjNzEpNyUhUy8xaxcj6bvvTZnDUvVs0DAFwBCY9IAAAA&amp;ved=2ahUKEwiUkrSZz8DiAhXEyosBHbkMDdEQmxMwBnoECAsQDA">
 <span class="XLloXe AP7Wnd">日本語</span>
</a>
(インデントを入れたり改行したり、少し整理している)
リンク先は、'/search'になっている。そこからリダイレクトする感じで目的のページに飛んでいくのだろう。
中は、<span>タグだけが入っている。

そして、これはハイパーリンクにならないやつ。
<a href="/url?q=http://w3m.sourceforge.net/index.ja.html&amp;sa=U&amp;ved=2ahUKEwiUkrSZz8DiAhXEyosBHbkMDdEQFjAIegQIBhAB&amp;usg=AOvVaw3hY1zSIhxgTLjnhFncoCW8">
 <div class="BNeawe vvjwJb AP7Wnd">W3m - SourceForge</div>
 <div class="BNeawe UPmit AP7Wnd">w3m.sourceforge.net</div>
</a>
リンク先は、'/url'で始まっていて異なるが、その後はよく似ている。同じようにリダイレクトするのだろう。
そう考えれば、この<a>には問題は無いのだろう。
他の違うところとしては、その中身が、<div>になっていて、しかも2つあることだ。

この辺が、ハイパーリンクにならない原因か?
とりあえず、今日はここまで。

2019年5月28日火曜日

w3mでgoogle検索が使えない#1

最近のブラウザは重い。
特に32bit Windowsでは、頑張っても3GiBまでしか使用できないので、VirtualBoxと一緒に使っていたりすると、LinuxでOom-killerが動き出して、Linux側が使い物にならなくなる。

そんな状態でも、w3mは動く。
質問フォーラム等のブラウジングなら、充分に使える。
キーバインドを覚えれば、かなり便利だ。

しかし、先週辺りからgoogleの検索結果のハイパーリンクが表示されなくなってしまった。
検索してみると、ちょうど先週辺りから検索結果の表示方法を変更したそうだ。
情報ソース(パブリッシャ)を先に表示するように変更しているそうだ。
これが、関係している?
w3mが使えなくなると、ボロマシン好きの私にとっては、色々面倒だ。
もう少し調べよう。

2019年5月19日日曜日

きれいな空気を胸いっぱいに#2

壁の吸気口のフィルタは、高価である。
わざわざそれを選ぶ人もいないだろうし、競争が無いのでしょうがないのかもしれない。
さらに平面的で、吸気抵抗が大きいと感じる。

去年、このコードレス掃除機を買ったため、古い掃除機の紙パックが余っていた。
この余っている紙パックを、吸気口のフィルタとして使えないだろうか?
ということで、ウチの吸気口に合う、掃除機紙パックアダプタを作ってみることにした。

またまたMDFボードで作る。
シールの紙に、寸法の線を書いたものを印刷し、それをMDFボードに貼り付けて、その線に沿って切り抜き、部品を貼り合わせる。

部品を切り出した状態で写真を撮影しておいたのに、うっかり消してしまったので、一部接着しているが、もう一度部品の写真を撮り直した。
段差の間に、紙パックの厚紙を挟むようにする。

仮組みするとこんな感じ。

接着した。
このままでも使えなくはないんだけど、雨水がかかるかもしれない。濡れても良いように、表面にペンキを塗ることにした。

シーラを塗って、300番ぐらいの紙やすりで表面を整えて、セリアで買ったペンキを塗った。
お店で見た時は、世田谷ベースのような水色に思ったのだが、写真で見ると鮮やかな水色に見える。

紙パックの厚紙が接触する部分に、薄いスポンジを挟んで、隙間をなくす。
スポンジはビバホームで買った。
厚さ5mm。少し厚いが選択しがない。

やっぱり少し厚いかな。

縁取りのスポンジもつけて、押さえ板をネジで固定すれば、出来上がり。
各社共通の紙パックを使っているので、余計な切り欠きのミシン目が見える。

ネジをMDFボードの小口(っていうか木端と区別ないけど)にネジを打つのは、ほぼ必ず失敗する。
MDFボードが層状に剥離してしまうためだ。
写真をよく見ればわかるが、小口を四角く開けた穴に入れた。さらに、木端側にもエポキシ接着剤(Eセット)を塗って浸透させ、剥離しにくくした。
さらに、脇に板を重ねてある(もちろんガッチリ接着している)。
ここまでやっても、剥がれるかもしれないので、あまり太いネジは使えない。
ウチにあったΦ2.7mmのネジを使った。皿ネジだったので、ワッシャを入れた。

例によって、例のごとく、ここまでの作業には1ヶ月ぐらいかかっている。
接着剤やペンキが固まるのを待たないといけないのでどうしても時間がかかる。

実は、最初の記事、吸気口の「角形プッシュ式レジスタ」を交換する前に、この掃除機紙パックアダプタを作っていた。
これを取り付ける時の動画。

この動画を撮影したのも、角形プッシュ式レジスタ交換前なので、古い物が付いている。
紙パックはシワシワで立体的だ。表面積は多い。吸気抵抗は低いと考えられる。

これはΦ150の吸気口だけど、Φ100のやつにも掃除機紙パックをつけようと考えている。
しかし、Φ100だと普通の掃除機の紙パックは使えない。ハンディクリーナのものを使おうと考えている。

つづく。

2019年5月18日土曜日

きれいな空気を胸いっぱいに#1

先月、ひさしぶりに風邪を引いた。
花粉症の時期でもあり、発見が遅れて、かなりこじらせてしまった。
とてもつらかったが、ある意味、毎年の事だ。今年は鼻血が出なかっただけ良かった。

花粉症になってもう30年。去年と一昨年は、マスクやメガネでの防御の効果を実験していたが、基本的にこの30年間、ノーガード戦法ですごしている。
花粉症になったばかりの頃は、いろいろ工夫をしたが、その当時はガーゼのマスクしかなく効果が無かったので、数年であきらめて、ノーガード戦法をとるようになったのだ。
私の場合だけかもしれないが、関東にいると花粉症を発症するが、宮崎(生まれ故郷)に帰ると花粉症は出ない。
もちろん、宮崎にも杉の木はあるが、なぜか花粉症の症状が出ないのだ。
そのことが以前から不思議だった。

花粉症は、花粉だけが原因ではない。という噂がある。
空気の汚れ:排気ガス、PM2.5、黄砂などの相互作用で、敏感になりスギ花粉にも反応するようになるというものだ。
冬の大掃除の時など、窓や壁の吸気口の周りが薄く黒くなっているのに気がつくなんて人も多いだろう。
都会に住んでいれば、空気は汚れているものだ。

マンションなので、壁に吸気口がある。
フィルタを付けられるようになっているのだが、立体的なプリーツなどは無く平面状で、さらに長く使えば目が詰まってくる。そのため、吸い込み抵抗が増し、結局、窓の周りからも空気を吸い込んでいる。
窓から吸い込まれた空気は、フィルタを通っていないので、当然汚い。

少しでも吸気抵抗を減らすために、定期的に吸気口を掃除して、フィルタを交換するのだが、その作業がとてもやりにくい。
吸気口は大きいものと小さいものがある。
大きいものの穴の直径は15cmぐらいあるので、CDの直径よりも大きい。しかしながら、X状の梁があり、実質直径5cm程度の隙間しかない。
小さいものは、実質3cm程度だ。これでは、奥まで手が入らない。
撮影時、フィルタは取り外している。
一見して開口部は大きいのだが、X状の梁が邪魔で、この隙間では手が入らない。

取り外せないものだと思い込んでいて、掃除には毎度苦労していた。
しかし先日、取り外せることに気がついて、取り外して掃除した。
全部分解して、徹底的に洗った後(上記写真は洗った後で撮影し直している)、プラスチックがだいぶ黄ばんできていることに気がついた。
このマンションが建設されて、もう10年以上になる。
新しいのに交換するのも良いかもしれない。さらに、この10年で進歩しているかもしれない。
ネットで調べると、これは「角形プッシュ式レジスタ」と呼ぶらしいことがわかった。メーカは「大建プラスチック」。
おなじ大きさの物で、中心部分が取り外せるものが見つかった。
150MPSK5-F
掃除もフィルタ交換も楽そうだ。同じメーカなら、そのまま置き換えもできるだろうと期待できる。
ネット通販で買って、交換してみた。
そのまますっぽり入って、まったく違和感がない。
中心を取り外すと、こんな感じ。
これなら掃除も簡単だ。

交換できることが確認できたので、他の部屋(小さい直径10cmのやつ)も注文して、交換しよう。
つづく。