2017年5月17日水曜日

banana pi M1 で youtube ; 音もTVから



このボードの最大の特徴は SATAポートを持ってることです。
したがって SATAハードディスクをとりつけれます。
      (SATAハードディスクへ電源供給は 2.5インチであれば簡単)
したがって WWWのビッグサーバーができます。


そして archlinux がインストールでき
youtubeが chromium でみれ 音もTVからでます。

自分は上図の ピンク枠のところだけを接続してます。

と日本語OKです


この動画は ここです。




archlinuxの インストールは
https://wiki.archlinuxjp.org/index.php/Banana_Pi
の通りです



またXはhttps://wiki.archlinuxjp.org/index.php/Banana_Pi#.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB
より
X.org ドライバー
Banana Pi 用の X.org ドライバーは xf86-video-fbdev パッケージでインストールできます。



TVから音を出すには
cat .asoundrc 
pcm.!default {
type hw
card 1
 } 
ctl.!default {
type hw
card 1
}
です。



日本語は最軽量の scim-anthy で
pacman -S otf-ipafont
pacman -S  scim-anthy  
.xprofile 
export XMODIFIERS=@im=scim
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
もし 日本語が走ってないときは 端末で 
scim -d
をしてください。

これを失敗したので
pacman -S otf-ipafont
pacman -S  ibus-anthy

.bashrc
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
ibus-daemon

にしました。
ibus 走ってないと ibus-daemon で逃げれます。





これにて
pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 alarm is up to date
 aur is up to date
:: Starting full system upgrade...
warning: linux-firmware: ignoring package upgrade (20140603.a4f3bc0-1 => 20170309.695f2d6-1)
warning: ignoring package replacement (linux-sun7i-3.4.90-4 => linux-armv7-4.11.1-1)
warning: uboot-cubieboard2: ignoring package upgrade (2014.04-8 => 2017.01-2)
resolving dependencies...
looking for conflicting packages...
Packages (5) gnutls-3.5.12-1  iana-etc-20170512-1  libmm-glib-1.6.6-1
             xfce4-terminal-0.8.5.1-1  youtube-dl-2017.05.14-1
Total Download Size:    5.01 MiB
Total Installed Size:  25.85 MiB
Net Upgrade Size:       0.15 MiB
:: Proceed with installation? [Y/n] 

でソフトを最新へともっていけます。




df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/root       15412688  5984104   8645640  41% /
devtmpfs          447576        0    447576   0% /dev
tmpfs             447688    28904    418784   7% /dev/shm
tmpfs             447688      556    447132   1% /run
tmpfs             447688        0    447688   0% /sys/fs/cgroup
tmpfs             447688      224    447464   1% /tmp
tmpfs              89536        4     89532   1% /run/user/1001
/dev/sda1       74831752 14353224  56677188  21% /WWW 74GB

です。
つまり SATA ハードディスクがつかえます。
で 大容量が OKです。

自分の場合は
# ls -l /WWW/http
lrwxrwxrwx 1 root root 10 Oct 10  2016 /WWW/http -> /srv/http/
とリンクをつくって nginxでサーバーを回してるのですが
WWWのファイルは 実際にはSDメモリにはなく /dev/sda1にあります。 
SWAPも丈夫なSATAの方にしてます。



2017年1月30日月曜日

bluetooth , スマホ , cloning , .snapshots , アニメーションPNG ,

東北の貧しい過去について考えてみた
併合前の朝鮮半島 左をクリックしたら詳しいのがでる



  日韓併合で朝鮮はどう変わったかがひと目 左をクリックしたら詳しいのがでる


https://books.google.co.jp/books?isbn=456962801X
渡部昇一 - 2014 - ‎History

私の父などはよく「朝鮮にあれだけの金をかけず、東北地方に金をかけてくれれば、こんな (東北の)貧乏百姓の子もいなくなるのに」とこぼした。日本はそれぐらい朝鮮に金を持ち出していた。


http://www.asyura2.com/0601/ishihara10/msg/470.htmlより
<娘身売りの時代> 世界恐慌(1929年=昭和4年)のあおりで、輸出品だった東北の生糸の値が3分の1、コメも半値に暴落。重い小作料にあえぐ農村の娘身売りが急増した。「青森県農地改革史」によると、特に大凶作があった34年、農家一戸平均500円以上の借金を抱える町村が百を超え、「芸娼妓(げいしょうぎ)に売られた者は累計7083人に達した」。

奥羽越列藩同盟 http://manapedia.jp/text/1967
陸奥、出羽、越後の諸藩(つまり東北)が、薩長を中心とする新政府対抗する為に結んだ同盟。奥州(つまり東北)の諸藩が会津藩および庄内藩が「朝敵」とされたことに対して、赦免嘆願を目的として結んだ同盟
これで 自分は 明治新政府がなぜ東北地方に資本を投下してくれなかったのかが納得


以下 自己責任で お願いします!

1-1) bluetooth で 難関のを出す
bluez                     bluetoothデーモン
bluez-firmware   bluetooth ドングルのドライバ    
blueman      有名なやつ
blueberry      無名だけど頼れるやつ、bluemanだけではダメ

pavucontrol-qt  音の制御
pulseaudio    ドライバでしょうね?
pulseaudio-bluetooth  ドライバでしょうね?
  
の7点セットをインストールしておくこと

そして 
systemctl enable bluetooth してから再起動

後は pavucontrol-qt で
 
です。


そして 
systemctl enable bluetoothなお
pavucontrol-qt で音のコントロール


この後のblueetoothは 過去の遺物 ゆえに歴史的意味しかない
/etc/udev/rules.d/10-local.rules
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up"



# bluetoothctl


[bluetooth]# list

Controller <controller mac> BlueZ 5.5 [default]

[bluetooth]# select <controller mac>  自分の場合は    00:~


[bluetooth]# power on


[bluetooth]# scan on

   [bluetooth]# agent on

[bluetooth]# devices

Device <mouse mac> Name: Bluetooth Mouse

[bluetooth]# pair        <mouse mac>    自分の場合は  20:~


[bluetooth]# trust      <mouse mac>


[bluetooth]# connect <mouse mac>


しかし、これでは 面倒だ。


で 次の blueberry となる!


 ./comment-out.bat bluetooth.bat 
modprobe -v rfcomm
hciconfig hci0 down
hciconfig hci0 up
hcitool dev
systemctl restart bluetooth
blueberry


hciconfig が 以下ゆえ

 ---------
hci0: Type: Primary  Bus: USB
BD Address: 00:11:22:98:76:54  ACL MTU: 1021:4  SCO MTU: 180:1
UP RUNNING PSCAN ISCAN
RX bytes:2898 acl:66 sco:0 events:92 errors:0

TX bytes:1467 acl:20 sco:0 commands:60 errors:5


./comment-out.bat /etc/udev/rules.d/10-local.rules 

ACTION==add, KERNEL==hci0, RUN+=/usr/bin/hciconfig hci0 up

これにて Xになったらなにもせず bluetooth  keyboad がつかえる。

しかし
pacman -Q| grep blu 
blueberry 1.1.8-1
blueman 2.0.4-3
bluez 5.43-2
bluez-firmware 1.2-8
bluez-hid2hci 5.43-2
bluez-libs 5.43-2
bluez-utils 5.43-2
gnome-bluetooth 3.20.1-1
libbluray 0.9.3.r84.05c9fdec-1
と blueberry と blueman とが重複的に入ってて なにか補い合ってる感じ


なお 動画を見てくれ
https://www.youtube.com/watch?v=CtbI82E_ip0



1-2) bluetooth スピーカー
前述のとおり
ただし pavucontrol  で

-------------------------------------------------------------------------------------------

音質を上げるためには headset では あきません。 で以下

----------------------------------------------------------------------------------------------
1-3)スマホF06-Fへのファイル転送







2)スマホとつなぐ
AURで
jmtpfs.tar.gz
simple-mtpfs.tar.gz


pacman -Q| grep mtp
gvfs-mtp 1.30.2+11+g7435ecc-1
jmtpfs 0.5-1
libmtp 1.1.12-1 <---AURをいれるとき引きずられてはいる
simple-mtpfs 0.2-1



3) より小さいディスク へクローンニング


これは 最初に 17)に書いたのを してからですが
自己責任でお願いします。

大きい方を /deb/sdb
小さい方を /dev/sdc
とします。
わかりやすくするため /deb/sdb は /dev/sdb1しかないとします
まず  /deb/sdbを gpartedで /dev/sdcの容量より小さくします
これは できないことも あったので 17)に書いたのがいいと 今は判断、 でも 自己責任で!


次に
dd if=/dev/sdb of=/dev/sdc bs=512 count=10000


それから
fdisk /dev/sdc
して大きさを修正しておく

partclone.btrfs -c   -s /dev/sdb1             -o ./image_sdb1.pcl
partclone.btrfs -r   -s ./image_sdb1.pcl  -o /dev/sdc1


それから
/dev/sdc1 に boot をつける


これで終わりです。






4)btrfsすると /.snapshots が 増大することへの対処

---

1)まず btrfs の性質についてしらべます

sdbは 32GBのUSB メモリ

sdcは  8GBのUSB メモリ
として 


# mkfs.btrfs -f /dev/sdb

btrfs-progs v4.8.2
See http://btrfs.wiki.kernel.org for more information.

Label:              (null)

UUID:               
Node size:          16384
Sector size:        4096
Filesystem size:    29.42GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP               1.00GiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    29.42GiB  /dev/sdb


# mkfs.btrfs -f /dev/sdc

btrfs-progs v4.8.2
See http://btrfs.wiki.kernel.org for more information.

Label:              (null)

UUID:               
Node size:          16384
Sector size:        4096
Filesystem size:    7.50GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP             384.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     7.50GiB  /dev/sdc



# mount /dev/sdb /mb

# mount /dev/sdc /mc
# btrfs subvolume create /mb/sb
Create subvolume '/mb/sb'


# btrfs subvolume create /mc/sc

Create subvolume '/mc/sc'

# btrfs subvolume list /mb

ID 257 gen 7 top level 5 path sb



# btrfs subvolume list /mc

ID 257 gen 7 top level 5 path sc



# mount -o sybvolid=257 /dev/sdb /mb/sb


# mount -o sybvolid=257 /dev/sdc /mc/sc



# btrfs subvolume snapshot /mc/sc /mb/mc-sc-snapshot

Create a snapshot of '/mc/sc' in '/mb/mc-sc-snapshot'
ERROR: cannot snapshot '/mc/sc': Invalid cross-device link



# btrfs subvolume snapshot   /mc/sc   /mc/mc-sc-snapshot

Create a snapshot of '/mc/sc' in '/mc/mc-sc-snapshot'


# dmesg > /mc/sc/dmesg.txt


# ls -l /mc/sc/dmesg.txt

-rw-r--r-- 1 root root 70984 Nov 17 17:55 /mc/sc/dmesg.txt

# ls -l /mc/mc-sc-snapshot

total 0
drwxr-xr-x 1 root root 0 Nov 17 17:55 sc

# dmesg >> /mc/sc/dmesg.txt

# ls -l /mc/sc/dmesg.txt
-rw-r--r-- 1 root root 141968 Nov 17 17:55 /mc/sc/dmesg.txt

# ls -l /mc/mc-sc-snapshot

total 0
drwxr-xr-x 1 root root 0 Nov 17 17:55 sc

そうだ、最初にsnapshotをとったときは dmesg.txt なかったのだ


したがって 

 # ls -l /mc/mc-sc-snapshot/sc
total 0
も当然。






いま


btrfs subvolume snapshot   /mc/sc   /mc/mc-sc-snapshot-2




して さらにこうすると


btrfs subvolume snapshot   /mc/sc   /mc/mc-sc-snapshot-2nd








以下なように dmesg があらわれるね


# ls -l /mc/mc-sc-snapshot-2  

total 140
-rw-r--r-- 1 root root 141968 Nov 17 17:55 dmesg.txt
drwxr-xr-x 1 root root      0 Nov 17 18:04 mc-sc-snapshot
drwxr-xr-x 1 root root      0 Nov 17 18:04 sc



# ls -l /mc/mc-sc-snapshot-2nd

total 140
-rw-r--r-- 1 root root 141968 Nov 17 17:55 dmesg.txt
drwxr-xr-x 1 root root      0 Nov 17 18:02 mc-sc-snapshot
drwxr-xr-x 1 root root      0 Nov 17 18:02 mc-sc-snapshot-2
drwxr-xr-x 1 root root      0 Nov 17 18:02 sc


# ls -l /mc/mc-sc-snapshot-2nd/mc-sc-snapshot

total 0




# ls -l /mc/mc-sc-snapshot-2nd/mc-sc-snapshot-2/

total 0


うーん、わかったような わからないような 

しかし、過去のsnapshot は確かにある。
これを どう活かすかが 腕の見せ所。




2)タイムトラベラー

archlinuxを btrfsでインストールした場合これができるようです。
1) $ gpg --keyserver hkp://pgp.mit.edu --recv-keys 0xE4B5E45AA3B8C5C3
gpg: keybox '/home/yuma/.gnupg/pubring.kbx' created
gpg: /home/yuma/.gnupg/trustdb.gpg: trustdb created
gpg: key E4B5E45AA3B8C5C3: public key "Wes Barnett <wes@wbarnett.us>" 
imported
gpg: Total number processed: 1
gpg:               imported: 1

2)#  pacman -Sy snap-pac
ERROR: No snapper configurations found, so not taking any snapshots!
とエラーになりました。

3)そこで
snapper -c root create-config /
して configurations をつくり
もう一度
pacman -S snap-pac
で snap-pacは はいります。



4)まず手始めに vimをいれてvimをのける実験です
pacman -Sy vim
(1/1) Performing snapper pre snapshots...
    root 3 done <ーーーーーーーーーーーーーーーーーーーーーーー
:: Processing package changes...
(1/2) installing vim-runtime                      
[######################] 100%
(2/2) installing vim                              
[######################] 100%
Optional dependencies for vim
    python2: Python 2 language support [installed]
    python: Python 3 language support [installed]
    ruby: Ruby language support
    lua: Lua language support
    perl: Perl language support [installed]
    tcl: Tcl language support
:: Running post-transaction hooks...
(1/1) Performing snapper post snapshots...
    root 4 done <ーーーーーーーーーーーーーーーーーーーーーー
これで vim ははいりました。
そこで vimをいれてない過去にタイムマシンでもどります
# snapper -c root undochange 3..4
です。
create:0 modify:3 delete:1845
確かに vimがきかなくなりました。

A)これから主題をします。

現在
ls /lib/modules/
4.8.4-1-ARCH  extramodules-4.8-ARCH
です。
そこで 一番問題の linuxを」いれます。

# pacman -Sy linux

:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-4.8.8-2
Total Download Size:   58.51 MiB
Total Installed Size:  71.05 MiB
Net Upgrade Size:       0.00 MiB
:: Proceed with installation? [Y/n] 
:: Retrieving packages...
linux-4.8.8-2-i686        58.5 MiB   331K/s 03:01 
[######################] 100%
(1/1) checking keys in keyring                    
[######################] 100%
(1/1) checking package integrity                  
[######################] 100%
(1/1) loading package files                        
[######################] 100%
(1/1) checking for file conflicts                  
[######################] 100%
(1/1) checking available disk space                
[######################] 100%
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots...
    root 5 done <-----------------------------------------------
:: Processing package changes...
(1/1) upgrading linux                              
[######################] 100%
>>> Updating module dependencies. Please wait ...
:: Running post-transaction hooks...
(1/2) Updating Arch Linux initramfs image
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 
'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g 
/boot/initramfs-linux.img
==> Starting build: 4.8.8-2-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 
'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g 
/boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.8.8-2-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: 
/boot/initramfs-linux-fallback.img
==> Image generation successful
(2/2) Performing snapper post snapshots...
    root 6 done <------------------------------------------------------
これでlinuxはアプグレードしました。

ls /lib/modules/

4.8.8-2-ARCH  extramodules-4.8-ARCH
ですから。

今回はうまくいったのですが 他の方が書かれてますが 上手く行かないときがあります。
こんな時は 過去に戻ります。
今回は
# snapper -c root undochange 5..6
create:4813 modify:8 delete:4814
です。
きちんと 過去にワープできてるでしょうか?
# ls /lib/modules/
4.8.4-1-ARCH  extramodules-4.8-ARCH
なので OKと判断しました。
---



https://www.suse.com/documentation/sles11/stor_admin/data/trbl_btrfs_volfull.html#b15tk0m4

です。
具体的には

$ su
Password:

# btrfs filesystem show
Label: 'arch'  uuid: db4ef4b9-d89a-4bf6-a5cb-9a48d734ef18
 Total devices 1 FS bytes used 38.34GiB
 devid    1 size 53.90GiB used 40.02GiB path /dev/sda1


# df
Filesystem     1K-blocks     Used Available Use% Mounted on
dev              2989216        0   2989216   0% /dev
run              2993808      772   2993036   1% /run
/dev/sda1       56516608 41168656  15092912  74% /
tmpfs            2993808     3384   2990424   1% /dev/shm
tmpfs            2993808        0   2993808   0% /sys/fs/cgroup
tmpfs            2993808        8   2993800   1% /tmp
tmpfs             598760        4    598756   1% /run/user/1000



# btrfs fi balance start  /  -dusage=5
Done, had to relocate 0 out of 41 chunks


snapper -c root list | more


snapper -c root delete 3-100


df
Filesystem     1K-blocks     Used Available Use% Mounted on
dev              2989216        0   2989216   0% /dev
run              2993808      780   2993028   1% /run
/dev/sda1       56516608 25755136  29448832  47% /
tmpfs            2993808     3404   2990404   1% /dev/shm
tmpfs            2993808        0   2993808   0% /sys/fs/cgroup
tmpfs            2993808        8   2993800   1% /tmp
tmpfs             598760        4    598756   1% /run/user/1000

と余裕ができました!

あと 
nano /etc/snapper/configs/root

snapper-timeline.timer を起動・有効化することで自動タイムラインスナップショットが開始されます。さらに、snapper-cleanup.timer を起動・有効化すると定期的に古いスナップショットが消去されます。
とのこどなので以下も必要
# systemctl enable snapper-timeline.timer
# systemctl enable snapper-cleanup.timer





5)アニメーションPNG
http://takuya-1st.hatenablog.jp/entry/2015/07/15/002701
がすばらしいので 従うといいです。

ffmpeg -i input.mp4  -an -r 15  -pix_fmt rgb24 -f gif out.gif

               15を5にすると カクカクが出現します。


この次に こうしてできた アニメーションGIPを アニメーションPNG にします。
そのためには AURで apng-utils を導入して

gif2apng out-5.gif

out-5.png
ができあがります。


問題のサイズですが
-rw-r--r-- 1 fuji fuji 14035967 Jan 30 09:39 out-5.gif
-rw-r--r-- 1 fuji fuji  9028316 Jan 30 10:37 out-5.png
と out-5.png がずっと小さい!




6) 解像度

/etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_TERMINAL_INPUT=console
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_DISABLE_RECOVERY=true



7)バッテリ関係

upower -i /org/freedesktop/UPower/devices/battery_BAT0

にて
  native-path:          BAT0
  vendor:               NEC
  model:                PC-VP-BP70/OP-570-76975-04
  power supply:         yes
  updated:              Wed Feb  1 11:03:41 2017 (48 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    energy:              15.197 Wh
    energy-empty:        0 Wh
    energy-full:         33.4 Wh
    energy-full-design:  43.92 Wh
    energy-rate:         13.718 W
    voltage:             7.02 V
    time to empty:       1.1 hours
    percentage:          45%
    capacity:            76.0474%
    technology:          lithium-ion
    icon-name:          'battery-good-symbolic'
  History (charge):
    1485914621 45.000 discharging
  History (rate):
    1485914621 13.718 discharging





8) mp4を DVDへ
devede で できました(後述 22 )
windows10の WinX DVD Author なんか もう使いまへん



9) htpasswd
htpasswd -c -b /XXX/.htpasswd ユーザ名 パスワード



10) vlc
minidlnaにて 
/optのフォルダのビデオがみれる。

見るためには

にて動画サーバーと その利用方法の出来上がり。




11)dhcpdサーバーをつくろう


many PCs --有線LAN--> enp9s0:arch: wlp0s29f7u1 ~wifi~>internet

pacman -S dnsmasq

./comment-out.bat /etc/dnsmasq.conf
interface=enp9s0
bind-interfaces
dhcp-range=192.168.8.50,192.168.8.51,12h


以下のスクリプトは
まず固定アドレスをふり、
次に
dnsmasqをうごかし
最後に
natをしてます。

./comment-out.bat dhcpd-server+NAT.bat
 ip addr show
 ip link set enp9s0 up
 ip addr add 192.168.8.1/24 dev enp9s0
 ip addr show

systemctl start dnsmasq

mac='wlp0s29f7u1'
echo '--------- wlan? ------------'
echo $mac
echo '----------------------------'
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o $mac -j MASQUERADE
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
iptables-save

iptables -L




12) minidlna つまり 動画サーバー


$ ./comment-out.bat /etc/fstab 

UUID=155bd3d7-a0f8-40cc-b6ce-4da5c54335ad       /         btrfs     rw,relatime,compress=lzo,space_cache,subvolid=257,subvol=/ROOT,subvol=ROOT 0 0

UUID=51564f92-3924-48e5-ab4e-5510ca2968f2       none       swap       defaults   0 0




 ./comment-out.bat /etc/minidlna.conf

port=8200
user=minidlna
media_dir=/opt
media_dir=V,/ma1/V
media_dir=P,/ma1/P
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678

model_number=1




全体図は





TV の リモコンの

1)HDMI 1 を押すと 録画したビデオ とやりとりができます

2)HDMI 2 をおすと PC-1 の画面がでます。

3)リンク ボタン をおすと arch minidlna サーバーにつながり
  家族写真、家族動画 が見れます。

  つまり サーバー内の画像は wifi電波にのって
  wifi router に到着し
  ここから 有線LANにのって TVに到達します。 






2)についてですが
PC-1は ノートパソコンで 蓋は閉めっぱなしです。
じゃあ どうして起動してるかですが
スマホの wale on lan アプリ で起動します、以下です
Wake On Lan(WOL)は マジックパケットと呼ばれる信号を送信して起動させます。
同一ネットワーク上にあるPC を遠隔操作で起動します
自分の場合は バッテリを外している 電源を入れてない 古いNECのノートPC でしてます。




3)についての小技

写真は AURにある
photo-date.rb
で日付がつけられます。

動画は
/home/yuma/comment-out.bat /mnt/V/mp4-2-mp4.bat 
for x in `ls  *.mp4 `  
do
ffmpeg -i   $x -s 800x450  $x-800_450.mp4
mkdir -p Huyou-----
mv $x Huyou-----
done
for x in `ls  *.MP4 `
do
ffmpeg -i   $x -s 800x450  $x-800_450.mp4
mkdir -p Huyou-----
mv $x Huyou-----

done

にて minimldaが扱えるサイズまで落としてます。


あといくつか シェルスクリプトをメモします。

3-album-for.bat は、htmlをつくるスクリプトです。
echo '                      </p>'
echo '                      </p>'
echo '                      </p>'
echo ' sound : mp3</p>'
for x in `ls  *.mp3 `
do
echo "<a href=$x>$x</a>   </p> </p> "
done

echo ' photo :jpg </p> '
for y in *.jpg
do 
jhead -nf%Y-%m-%d-%H%M%S $y
done

for x in `ls *.jpg`
do
echo "<a href=`echo $x`>`echo $x`</a>   </p> </p> "
done
echo '                      </p>'
echo '                      </p>'
echo '                      </p>'
echo 'mibunrui  movie: mp4-----------------  </p> '

for x in `ls  *.mp4 `
do
echo "<a href=$x>$x</a>   </p> </p> "
done
echo '                      </p>'
echo '                      </p>'
echo '                      </p>'
echo ' movie: m4v --------------- </p> '

for x in `ls  *.m4v `
do
echo "<a href=$x>$x</a>   </p> </p> "
done
echo '                      </p>'
echo '                      </p>'
echo '                      </p>'
echo ' movie: mkv --------------- </p> '

for x in `ls  *.mkv `
do
echo "<a href=$x>$x</a>   </p> </p> "
done



 ./comment-out.bat for-JPG.bat 
for x in `ls  *.JPG `  
do
mv $x $x.jpg
done
ls *.JPG



rename.bat
echo ' before after '
for  x in ` ls  ./ `
do
rename $1 $2 $x

done



jpg-shukushou.bat 
for x in `ls *.jpg`
do
convert -resize 320x -unsharp 2x1.4+0.5+0  -quality 100 -verbose $x S320-$x
done

mkdir -p ./Huyou ; find ./ -name '*.txt'   | xargs -i mv {} ./Huyou



13)  英語なテキストファイルの印刷

cat print-english_txt.bat
soffice --headless --convert-to pdf:writer_pdf_Export $1
lp $1.pdf
rm $1.pdf


./print-english_txt.bat   XYZ,txt
のように使います。


日本語がある場合は
print-english_txt.bat
soffice --writer --infilter="Text (encoded):UTF8,LF,,," --convert-to pdf:writer_pdf_Export   $1
lp $1.pdf
rm $1.pdf



14) fvwm
openbsd  のです。

cat .xinitrc 
exec fvwm


cat keyboard.bat
setxkbmap -rules evdev -model jp106 -layout jp
fcitx-autostart

にて

で クールです。
32GBのSSDの の ノートPCでは これがいいでしょう


15) grub  <- os-prober 導入したらいい

/boot/grub/grub.cfg
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}
if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod btrfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0541d3a0-19d2-4b8c-ab36-7b57e2352947
else
  search --no-floppy --fs-uuid --set=root 0541d3a0-19d2-4b8c-ab36-7b57e2352947
fi
    font="/ROOT/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
else
  set timeout=30
fi


menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0541d3a0-19d2-4b8c-ab36-7b57e2352947' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0541d3a0-19d2-4b8c-ab36-7b57e2352947
else
 search --no-floppy --fs-uuid --set=root 0541d3a0-19d2-4b8c-ab36-7b57e2352947
fi
echo 'Loading Linux linux ...'
linux /ROOT/boot/vmlinuz-linux root=UUID=0541d3a0-19d2-4b8c-ab36-7b57e2352947 rw rootflags=subvol=ROOT  quiet
echo 'Loading initial ramdisk ...'
initrd  /ROOT/boot/initramfs-linux.img
}


submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-0541d3a0-19d2-4b8c-ab36-7b57e2352947' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-0541d3a0-19d2-4b8c-ab36-7b57e2352947' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0541d3a0-19d2-4b8c-ab36-7b57e2352947
else
 search --no-floppy --fs-uuid --set=root 0541d3a0-19d2-4b8c-ab36-7b57e2352947
fi
echo 'Loading Linux linux ...'
linux /ROOT/boot/vmlinuz-linux root=UUID=0541d3a0-19d2-4b8c-ab36-7b57e2352947 rw rootflags=subvol=ROOT  quiet
echo 'Loading initial ramdisk ...'
initrd  /ROOT/boot/initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-0541d3a0-19d2-4b8c-ab36-7b57e2352947' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod btrfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0541d3a0-19d2-4b8c-ab36-7b57e2352947
else
 search --no-floppy --fs-uuid --set=root 0541d3a0-19d2-4b8c-ab36-7b57e2352947
fi
echo 'Loading Linux linux ...'
linux /ROOT/boot/vmlinuz-linux root=UUID=0541d3a0-19d2-4b8c-ab36-7b57e2352947 rw rootflags=subvol=ROOT  quiet
echo 'Loading initial ramdisk ...'
initrd  /ROOT/boot/initramfs-linux-fallback.img
}
}


menuentry 'Windows 10 (loader) (on /dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-chain-D86C87B26C878A48' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  D86C87B26C878A48
else
 search --no-floppy --fs-uuid --set=root D86C87B26C878A48
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}



if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  0541d3a0-19d2-4b8c-ab36-7b57e2352947
        linux16 /ROOT/boot/memtest86+/memtest.bin 
    }

fi

os-properではひっかからない
menuentry "openbsd" {
        set root='hd1,msdos4'
        chainloader +1
}





16) NFS

cat nfs.bat
---------------------------------------
ifconfig | grep 192.168
exportfs -arv
systemctl restart nfs-server.service
chmod -R 777 /srv-nfs/
ls /srv-nfs/
# aite

# mount.nfs4 192.168.1.113:/srv-nfs /mnt


17) / のファイルサイズの変更


[root@bTr guest]# df
Filesystem     1K-blocks     Used Available Use% Mounted on
dev               506188        0    506188   0% /dev
run               509284      676    508608   1% /run
/dev/sda1       28651520 10698316  17260500  39% /
tmpfs             509284        0    509284   0% /dev/shm
tmpfs             509284        0    509284   0% /sys/fs/cgroup
tmpfs             509284        4    509280   1% /tmp
tmpfs             101856        4    101852   1% /run/user/1001


[root@bTr guest]# btrfs filesystem resize -1g /
Resize '/' of '-1g'
[root@bTr guest]# df
Filesystem     1K-blocks     Used Available Use% Mounted on
dev               506188        0    506188   0% /dev
run               509284      676    508608   1% /run
/dev/sda1       27602944 10698864  16211536  40% /
tmpfs             509284        0    509284   0% /dev/shm
tmpfs             509284        0    509284   0% /sys/fs/cgroup
tmpfs             509284        4    509280   1% /tmp
tmpfs             101856        4    101852   1% /run/user/1001
と瞬時に減ります

もとに戻します
[root@bTr guest]# btrfs filesystem resize +1g /
Resize '/' of '+1g'
[root@bTr guest]# df
Filesystem     1K-blocks     Used Available Use% Mounted on
dev               506188        0    506188   0% /dev
run               509284      676    508608   1% /run
/dev/sda1       28651520 10698872  17260104  39% /
tmpfs             509284        0    509284   0% /dev/shm
tmpfs             509284        0    509284   0% /sys/fs/cgroup
tmpfs             509284        4    509280   1% /tmp

tmpfs             101856        4    101852   1% /run/user/1001
すごいですね


18)SSD
https://wiki.archlinuxjp.org/index.php/%E3%82%BD%E3%83%AA%E3%83%83%E3%83%89%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96#TRIM


ファイルシステム開発者 Theodore Ts'o は discard マウントフラグの使用を推奨していません 。
あなたの使用しているハードウェアについて不安があるのならば、代わりに fstrim で定期的に TRIM を適用するようにしてください。

/etc/fstab のエントリで discard オプションを使うことで TRIM コマンドが有効になります:
/dev/sda3  /           ext4  defaults,noatime,discard   0  2

今自分のは
UUID=db4ef4b9-d89a-4bf6-a5cb-9a48d734ef18 /     btrfs   defaults,noatime,subvolid=257,subvol=/ROOT,subvol=ROOT  0 0

/dev/sda2           none       swap       defaults   0 0


http://qiita.com/kiida/items/67bda4881fef5444fbe5
TRIMとは
SSD上のデータは削除しても削除マークが付くだけで削除されません。
この状態のブロックにデータを書き込む場合、一度完全に消去してから書き込みます。
TRIMコマンドはOS上のファイルが不要になったことをSSDに伝えて明示的にデータの消去を行うコマンドです。

メリット
TRIMを使わない場合、以前データを書き込んだブロックに再度データを書き込む場合、実際にデータを書き込む際に消去が行われるため、まっさらなブロックに書き込む場合と比べて速度が低下します。
これはSSDを使えば使うほど起こりやすくなります。
TRIMを使うにはディスクとOS・ファイルシステムが対応している必要があります。
diskが対応しているか確認
hdparmの結果で判断できます。
sudo hdparm -I /dev/sda | grep -i trim
   *    Data Set Management TRIM supported (limit 8 blocks)

fstrimコマンドを使う(多分こっちが推奨)
マウントポイントを指定してfstrimコマンドを実行すると明示的にTRIMできます。
こちらの方法ではコマンド実行するまでの間ならrmしたファイルの復旧ができる可能性もあります。
sudo fstrim -v /

# fstrim -v /
/: 64.2 GiB (68951465984 bytes) trimmed



19) 監視カメラ

A)10秒毎に撮影して 何月何日何時何分のフォルダをつくり
そこに10秒毎の画像を入れます。

 ./camera-shot.bat
while true
do
x=`date +%m%d-%H%M`
y=`date +%S`
echo $x
echo $y
mkdir -p ./Camera-----/$x
fswebcam -d /dev/video0 \
   -p YUYV -D 2 -S 16 -r 640x480 \
   --jpeg 75 --line-colour '#FF000000' \
   --text-colour '#40FFFFFF' --banner-colour '#FF000000' \
   ./output.jpg
cp ./output.jpg  ./Camera-----/$x/$y.jpg
rm ./output.jpg
sleep 15
done


height 240
framerate 2
minimum_frame_time 0
netcam_keepalive off
netcam_tolerant_check off
rtsp_uses_tcp on
auto_brightness off
brightness 0
contrast 0
saturation 0
hue 0
roundrobin_frames 1
roundrobin_skip 1
switchfilter off
threshold 1500
threshold_tune off
noise_level 32
noise_tune on
despeckle_filter EedDl
smart_mask_speed 0
lightswitch 0
minimum_motion_frames 1
pre_capture 0
post_capture 0
event_gap 60
max_movie_time 0
emulate_motion off
output_pictures on
output_debug_pictures off
quality 75
picture_type jpeg
ffmpeg_output_movies on
ffmpeg_output_debug_movies off
ffmpeg_timelapse 0
ffmpeg_timelapse_mode daily
ffmpeg_bps 400000
ffmpeg_variable_bitrate 0
ffmpeg_video_codec mpeg4
ffmpeg_duplicate_frames true
use_extpipe off
snapshot_interval 0
locate_motion_mode off
locate_motion_style box
text_right %Y-%m-%d\n%T-%q
text_changes off
text_event %Y%m%d%H%M%S
text_double off
target_dir /home/fuji/motion-----
snapshot_filename %v-%Y%m%d%H%M%S-snapshot
picture_filename %v-%Y%m%d%H%M%S-%q
movie_filename %v-%Y%m%d%H%M%S
timelapse_filename %Y%m%d-timelapse
ipv6_enabled off
stream_port 8081
stream_quality 50
stream_motion off
stream_maxrate 1
stream_localhost on
stream_limit 0
stream_auth_method 0
webcontrol_port 8080
webcontrol_localhost on
webcontrol_html_output on
track_type 0
track_auto off
track_iomojo_id 0
track_step_angle_x 10
track_step_angle_y 10
track_move_wait 10
track_speed 255
track_stepsize 40
quiet on



B)motion

/etc/motion/motion.conf を
process_id_file /var/run/motion/motion.pid
setup_mode off
log_level 6
log_type all
videodevice /dev/video0
v4l2_palette 17
input -1
norm 0
frequency 0
power_line_frequency -1
rotate 0
width 320
height 240
framerate 2
minimum_frame_time 0
netcam_keepalive off
netcam_tolerant_check off
rtsp_uses_tcp on
auto_brightness off
brightness 0
contrast 0
saturation 0
hue 0
roundrobin_frames 1
roundrobin_skip 1
switchfilter off
threshold 1500
threshold_tune off
noise_level 32
noise_tune on
despeckle_filter EedDl
smart_mask_speed 0
lightswitch 0
minimum_motion_frames 1
pre_capture 0
post_capture 0
event_gap 60
max_movie_time 0
emulate_motion off
output_pictures on
output_debug_pictures off
quality 75
picture_type jpeg
ffmpeg_output_movies on
ffmpeg_output_debug_movies off
ffmpeg_timelapse 0
ffmpeg_timelapse_mode daily
ffmpeg_bps 400000
ffmpeg_variable_bitrate 0
ffmpeg_video_codec mpeg4
ffmpeg_duplicate_frames true
use_extpipe off
snapshot_interval 0
locate_motion_mode off
locate_motion_style box
text_right %Y-%m-%d\n%T-%q
text_changes off
text_event %Y%m%d%H%M%S
text_double off
target_dir /WWW/Motion  #<--- この行を追加しただけ
snapshot_filename %v-%Y%m%d%H%M%S-snapshot
picture_filename %v-%Y%m%d%H%M%S-%q
movie_filename %v-%Y%m%d%H%M%S
timelapse_filename %Y%m%d-timelapse
ipv6_enabled off
stream_port 8081
stream_quality 50
stream_motion off
stream_maxrate 1
stream_localhost on
stream_limit 0
stream_auth_method 0
webcontrol_port 8080
webcontrol_localhost on
webcontrol_html_output on
track_type 0
track_auto off
track_iomojo_id 0
track_step_angle_x 10
track_step_angle_y 10
track_move_wait 10
track_speed 255
track_stepsize 40
quiet on

あと
systemctl enable motion
/WWW/Motion に jpgを溜め込みます。


このフォルダで camera.bat
-------------------------------------
echo ' photo :jpg </p> '
for y in *.jpg
do
jhead -nf%Y-%m-%d-%H%M%S $y
done
sleep 5
for x in `ls *.jpg`
do
echo "<a href=`echo $x`>`echo $x`</a>   </p> </p> "
done
echo '                      </p>'
echo '                      </p>'
echo '                      </p>'
echo ' movie: avi --------------- </p> '
for x in `ls  *.avi `
do
echo "<a href=$x>$x</a>   </p> </p> "
done


./cammera.bat > mtion.html
でいけるので 後は cron で回すだけですね

インターネットから
wget -r  --http-user="e" --http-password="1"  http://s.mydns.jp/Motion/mtion.html
ととりこんでもいいし

ブラウザで http://s.mydns.jp/Motion/mtion.html をてもいい

なお USB カメラは、 小さな小さな armなる banana pi M1につけて
これまた arch linuxではしってます。
Xは負担なので バナナは CUI だけでうごいてます。
電力は 5W 以下ですので 24時間動かしても 負担はない。
                                 http://www.banana-pi.org/m1.html




20)カラー スキャナー

pacman -Sy sane

$ scanimage -L
device `epson2:libusb:001:004' is a Epson PID 0881 flatbed scanner

なので、

$ scanimage --device "epson2:libusb:001:004" --format=png --mode Color  > scan.png



21) wav の演奏
これで あるフォルダの wav ファイルを全部演奏します。
何曲目かもでます

 for-1.bat
ーーーーーーーーーーーーーーーーーーーー
n=1
for k in `ls *.wav`
do
echo $n
echo '------'
echo $k
echo
echo
echo
mplayer $k
let "n=n+1"
done


22)動画を DVDに焼く

今行事をビデオカメラで録画したら mp4ですね
WINでは WinX DVD Author ですが

ffmpeg -i  douga.mp4  douga.vob
devede_ng.py
growisofs  -dvd-compat  -Z  /dev/sr0=./douga.iso -use-the-force-luke=spare:none

--------------------
逆に 昔の行事DVDから mp4 にするには

handbrake-cli  --main-feature    -i /dev/sr0 -o X.mp4



23) volumio へ NAS

http://akita-arm.blogspot.jp/2017/03/raspberry-pi-3-volumio.html
です



24) TV から音と画像

まず画像です


と パソコンのモニターは真っ暗にしてます。


以下は TVの設定です




音です
左上隅を見てください











25) wifi-menu -o でwifi router と接続


26) pdfファイルをきちんと印刷 -> xpdf




27)DVD-RAM を使う


https://wiki.archlinux.de/title/DVD-RAMに従って

dvd-ram_format.bat
dvd+rw-format -force=full -ssa=default /dev/sr0
mkudffs --media-type=dvdram /dev/sr0

これにて 
you should be able to write files simply by drag & drop in the file browser to the DVD-RAM.



28)wifi アクセスポイントを作る


https://wiki.archlinuxjp.org/index.php/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88


create_ap スクリプトは hostapd, dnsmasq, iptables を使って ブリッジ/NAT によるアクセスポイントを作成します (create_ap または create_ap-gitAUR パッケージでインストールできます)。
# create_ap wlan0 internet0 MyAccessPoint MyPassPhrase

ですが、
ifconfig と  dmesg | grep wlp とをみて
create_ap wlp0s26f7u2 enp5s0 Mypoint 11223344
にてできます。

WARN: Your adapter does not fully support AP virtual interface, enabling --no-virt
Config dir: /tmp/create_ap.wlp0s26f7u2.conf.fgtG8Nkr
PID: 12131
Sharing Internet using method: nat
hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlp0s26f7u2.conf.fgtG8Nkr/hostapd_ctrl
Configuration file: /tmp/create_ap.wlp0s26f7u2.conf.fgtG8Nkr/hostapd.conf
Using interface wlp0s26f7u2 with hwaddr 00:13:ef:c0:04:40 and ssid "Mypoint"
wlp0s26f7u2: interface state UNINITIALIZED->ENABLED
wlp0s26f7u2: AP-ENABLED

ctrl + c すると このアクセスポイントが消えるのが素晴らしい




29)OCR
http://a244.hateblo.jp/entry/2015/07/28/060803
の通りで
xsane で 600dpiでスキャンしてout.pnmを得たあと  

tesseract out.pnm output -l jpn
にて
output.txt ができます。



30)openbsdから archにつけたUSB プリンターで印刷

openbsd -->  192.168.1.39:archlinux:usb --> printer

http://honana.com/system/cups をみればいいのです

diff /etc/cups/cupsd.conf /etc/cups/cupsd.conf-ori
15,19c15,16
< #Listen localhost:631
< #Listen /run/cups/cups.sock
< port 631
<
<
---
> Listen localhost:631
> Listen /run/cups/cups.sock
34,36d30
<   Allow localhost
<   Allow 192.168.1.0/24
<
42,43d35
<   Allow localhost
<   Allow 192.168.1.0/24


2つファイルの付け加え
# ./comment-out.bat /etc/cups/mime.types
application/octet-stream


# ./comment-out.bat /etc/cups/mime.convs
application/octet-stream       application/vnd.cups-raw        0


あとは openbsdで http://192.168.1.39:631/
           (なお 192.168.1.39はarchlinuxのアドレス) 
    で テスト印刷は OK

したがってopenbsdで 一旦mozilla.pdf とファイルとして印刷し

openbsdのprint.bat が以下として                                             
scp -r $1  fuji@192.168.1.39:/home/fuji
ssh fuji@192.168.1.39
sleep 1
exit

openbsdで
./print.bat mozilla.pdf
でやっている









以下は未確認状態
ファイル名の文字コードの変更 SHIFT_JISへ
 ./comment-out.bat for-file_name.bat-U2S
for x in `ls ./`
do
y=`echo $x | iconv -f UTF-8 -t SHIFT_JIS`
 if [ $x != $y ]; then
 mv $x $y
 fi
done


UTF-8へ # ./comment-out.bat for-file_name.bat-S2U
for x in `ls ./`
do
y=`echo $x | iconv -f SHIFT_JIS  -t UTF-8  `
 if [ $x != $y ]; then
 mv $x $y
 fi
done


 
以下でのベンチマーク
http://s3-ap-northeast-1.amazonaws.com/mrfujita/web-bench/web-bench.html
1) おれの 最弱機

CPU0: Intel(R) Celeron(R) CPU          540  @ 1.86GHz (family: 0x6, model: 0x16, stepping: 0x1)
memory 1G




same machine but on openbsd








2)
CPU0: Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz (family: 0x6, model: 0x1e, stepping: 0x5)
memory 6G


同じマシンだけど 146GB SATA 3台のraid 0 をやめて 500G SATAにした
あれれ、成績が落ちてる
3) CPU0: Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz (family: 0x6, model: 0x3a, stepping: 0x9)


うーん、SSDのせいか i5が xeon より早いなー