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

ネットで公娼制度で検索するとすぐ
公娼制度とは、簡単に言えば、娼妓として稼ぐことを望む者に対して、国家が許可を与える制度である。 
間違えてはならない点は、あくまでも公認された売春が存在したのであって、売春そ のものが公認されたわけではないということ。
そのため、私娼は摘発の対象となって いる。


そして日本では
1946年1月、GHQは民主化改革の一環として、日本政府に公娼制度(貸座敷・娼妓)の廃止を要求し、
これに基づき戦前からの取締法令が廃止された。女性を前借金で拘束する人身売買を禁止しようとしたものである。
ああ、それで戦前東北地方で娘の身売りがあったのだー
戦前から警察では、遊郭などの風俗営業が認められる地域を、地図に赤線で囲んで表示しており、これが赤線の語源であるという[1]。

https://ja.wikipedia.org/wiki/%E3%81%8B%E3%82%89%E3%82%86%E3%81%8D%E3%81%95%E3%82%93
より
からゆきさんとして海外に渡航した日本人女性の多くは、農村、漁村などの貧しい家庭の娘たちだった。
こうした日本人女性の海外渡航は、当初世論においても「娘子軍」[1]として喧伝され、明
からゆきさんの主な渡航先は、シンガポール、中国、香港、フィリピン、ボルネオ、タイ、インドネシアなどアジア各地である。
からゆきさんの労働条件[編集]
『サンダカン八番娼館』に描かれた大正中期から昭和前期のボルネオの例では、娼婦の取り分は50%、その内で借金返済分が25%、残りから着物・衣装などの雑費を出すのに、月20人の客を取る必要があった。
「返す気になってせっせと働けば、そっでも毎月百円ぐらいずつは返せたよ」というから、検査費を合わせると月130人に相当する
(余談だが、フィリピン政府の衛生局での検査の場合、週1回の淋病検査、月1回の梅毒検査

お隣の韓国では
2004年韓国政府は性の売買を禁止し、売春宿を閉鎖させる性売買特別法を成立させた。

sata 4個の raid0 は早い
date ; dd if=/dev/zero of=./zero---.file bs=1M count=10000 ; date
Sun Jul 29 06:52:47 JST 2018
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 15.6121 s, 672 MB/s
Sun Jul 29 06:53:03 JST 2018

# ls -l zero---.file 
-rw-r--r-- 1 root root 10485760000 Jul 29 06:53 zero---.file




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

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

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


pacman -Sy bluez bluez-firmware blueberry pavucontrol-qt pulseaudio pulseaudio-bluetooth そして 
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 balance start -dusage=50 /
Done, had to relocate 1 out of 7 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
ffmpeg -i    input.mkv  -r 15   out.gif
               15を5にすると カクカクが出現します。

ffmpeg -i out.gif -s 640x480 little.gi


この次に こうしてできた アニメーション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--> enp2s0:arch: wlp3s0 ~wifi~>internet

pacman -S dnsmasq

# ./comment-out.bat /etc/dnsmasq.conf
interface=enp2s0
bind-interfaces
dhcp-range=192.168.7.50,192.168.7.55,12h




[root@lenovo-pc fuji]# ./comment-out.bat dnsmasq.bat 
ifconfig enp2s0 192.168.7.1/24
echo '----------------'
systemctl restart dnsmasq
mac='wlp3s0'
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 を


daemon off
process_id_file /var/run/motion/motion.pid
setup_mode off
;logfile /tmp/motion.log
log_level 6
log_type all
videodevice /dev/video0
v4l2_palette 17
; tunerdevice /dev/tuner0
input -1
norm 0
frequency 0
power_line_frequency -1
rotate 0
width 640
height 480
framerate 2
minimum_frame_time 0
; netcam_url value
; netcam_userpass value
netcam_keepalive off
; netcam_proxy value
netcam_tolerant_check off
rtsp_uses_tcp on
; mmalcam_name vc.ril.camera
; mmalcam_control_params -hf
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
; area_detect value
; mask_file value
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
;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:i420 -ovc x264 -x264encopts bframes=4:frameref=1:subq=1:scenecut=-1:nob_adapt:threads=1:keyint=1000:8x8dct:vbv_bufsize=4000:crf=24:partitions=i8x8,i4x4:vbv_maxrate=800:no-chroma-me -vf denoise3d=16:12:48:4,pp=lb -of   avi -o %f.avi - -fps %fps
;extpipe x264 - --input-res %wx%h --fps %fps --bitrate 2000 --preset ultrafast --quiet -o %f.mp4
;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:fps=%fps -ovc x264 -x264encopts preset=ultrafast -of lavf -o %f.mp4 - -fps %fps
;extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -vcodec libx264 -preset ultrafast -f mp4 %f.mp4
snapshot_interval 0
locate_motion_mode off
locate_motion_style box
text_right %Y-%m-%d\n%T-%q
; text_left CAMERA %t
text_changes off
text_event %Y%m%d%H%M%S
text_double off
;exif_text %i%J/%K%L
target_dir /usr/share/nginx/html
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
; stream_authentication username:password
; stream_preview_scale 25
; stream_preview_newline no
webcontrol_port 8080
webcontrol_localhost on
webcontrol_html_output on
; webcontrol_authentication username:password
track_type 0
track_auto off
;track_port /dev/ttyS0
;track_motorx 0
;track_motorx_reverse 0
;track_motory 1
;track_motory_reverse 0
;track_maxx 200
;track_minx 50
;track_maxy 200
;track_miny 50
;track_homex 128
;track_homey 128
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
; on_event_start value
; on_event_end value
; on_picture_save value
; on_motion_detected value
; on_area_detected value
; on_movie_start value
; on_movie_end value
; on_camera_lost value
; sql_log_picture on
; sql_log_snapshot on
; sql_log_movie off
; sql_log_timelapse off
; sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
; database_type value
; database_dbname value
; database_host value
; database_user value
; database_password value
; database_port value
; database_busy_timeout 0
; video_pipe value
; motion_video_pipe value
; camera /etc/motion/camera1.conf
; camera /etc/motion/camera2.conf
; camera /etc/motion/camera3.conf
; camera /etc/motion/camera4.conf

; camera_dir /etc/motion/conf.d



# ls -l /usr/share/nginx/html/*.bat
-rwxr-xr-x 1 root root 622 May 31 12:27 /usr/share/nginx/html/camera.bat
-rwxr-xr-x 1 root root 412 May 31 12:26 /usr/share/nginx/html/rotate.bat




./comment-out.bat rotate.bat  <-これを実行
n=0
rm /usr/share/nginx/html/*a.jpg
rm /usr/share/nginx/html/*b.jpg
rm /usr/share/nginx/html/*c.jpg
while true
do
rm /usr/share/nginx/html/index.html
rm /usr/share/nginx/html/*a.jpg
/usr/share/nginx/html/camera.bat > /usr/share/nginx/html/index.html
sleep 300
done




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

done


./comment-out.bat /etc/nginx/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /usr/share/nginx/html;
auth_basic "Restricted";
auth_basic_user_file /usr/share/nginx/.htpasswd;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

}




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


マイクロフトのカメラ /dev/v4l/by-id/usb-Microsoft_Microsoft��_LifeCam_NX-6000-video-index0
これちょっと苦労ですが なんとかなります。

ただ rebootかけると カメラは認識されないので
一旦きちんと電源を切って 5つ数えてから電源投入の必要があります


# pacman -Q| grep jpeg
libjpeg-turbo 1.5.1-1
mjpegtools 2.1.0-3
openjpeg 1.5.2-1
openjpeg2 2.1.2-2


# pacman -Q| grep jpg

# pacman -Q| grep v4l
gambas3-gb-v4l 3.9.2-4
v4l-utils 1.12.5-1
v4l2ucp 2.0.2-3

で guvcview  cheese は動く(他に何かいるかも)

また nginxを動かすと

# pwd
/usr/share/nginx/html

# ./comment-out.bat shot.bat
cd /usr/share/nginx/html
rm /usr/share/nginx/html/index.html
while true
do
ffmpeg -f video4linux2 -i /dev/v4l/by-id/'usb-Microsoft_Microsoft'$'\302\256''_LifeCam_NX-6000-video-index0' -vframes 2 test%03d.jpg
y=`date +%Y_%m%d__%H-%M__%S`.jpg
mv test002.jpg $y
echo "<a href=`echo $y`>`echo $y`</a>   </p> </p> " >> index.html
sleep 10
rm `date +%Y_%m%d --date="7 day ago"`*.jpg
rm `date +%Y_%m%d --date="8 day ago"`*.jpg
rm `date +%Y_%m%d --date="9 day ago"`*.jpg
rm `date +%Y_%m%d --date="10 day ago"`*.jpg
rm `date +%Y_%m%d --date="11 day ago"`*.jpg
rm `date +%Y_%m%d --date="12 day ago"`*.jpg
rm `date +%Y_%m%d --date="13 day ago"`*.jpg
rm `date +%Y_%m%d --date="14 day ago"`*.jpg
done

でネットから見れる動画をつくってくれる
rm `date +%Y_%m%d --date="7 day ago"`*.jpg
は 1~2 週間前のは削除ですね


./shot.bat
ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.1.1 (GCC) 20170516
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, video4linux2,v4l2, from '/dev/v4l/by-id/usb-Microsoft_Microsoft��_LifeCam_NX-6000-video-index0':
  Duration: N/A, start: 957.933135, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 800x600, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'test%03d.jpg':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 800x600, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.89.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    2 fps=0.0 q=3.1 Lsize=N/A time=00:00:00.06 bitrate=N/A speed=1.55x    
video:55kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
rm: cannot remove '2017_0602*.jpg': No such file or directory
rm: cannot remove '2017_0601*.jpg': No such file or directory
rm: cannot remove '2017_0531*.jpg': No such file or directory
rm: cannot remove '2017_0530*.jpg': No such file or directory
rm: cannot remove '2017_0529*.jpg': No such file or directory
rm: cannot remove '2017_0528*.jpg': No such file or directory
rm: cannot remove '2017_0527*.jpg': No such file or directory
rm: cannot remove '2017_0526*.jpg': No such file or directory
ffmpeg version 3.3.1 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.1.1 (GCC) 20170516
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, video4linux2,v4l2, from '/dev/v4l/by-id/usb-Microsoft_Microsoft��_LifeCam_NX-6000-video-index0':
  Duration: N/A, start: 968.285448, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 800x600, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'test%03d.jpg':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 800x600, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.89.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    2 fps=0.0 q=3.1 Lsize=N/A time=00:00:00.06 bitrate=N/A speed=1.65x    
video:55kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
なので 動きは安定


logicoolのカメラのshot.bat は以下
cd /ma1/tuyosi
rm /ma1/tuyosi/index.html
touch /ma1/tuyosi/index.html
while true
do
ffmpeg -f video4linux2 -i /dev/v4l/by-id/usb-046d_0825_B354D9E0-video-index0    -vframes 2 test%03d.jpeg
y=`date +%Y_%m%d__%H-%M__%S`.jpeg
mv test002.jpeg $y
echo "<a href=`echo $y`>`echo $y`</a>   </p> </p> " >> /ma1/tuyosi/index.html
sleep 10
rm `date +%Y_%m%d --date="7 day ago"`*.jpeg
rm `date +%Y_%m%d --date="8 day ago"`*.jpeg
rm `date +%Y_%m%d --date="9 day ago"`*.jpeg
rm `date +%Y_%m%d --date="10 day ago"`*.jpeg
rm `date +%Y_%m%d --date="11 day ago"`*.jpeg
rm `date +%Y_%m%d --date="12 day ago"`*.jpeg
rm `date +%Y_%m%d --date="13 day ago"`*.jpeg
rm `date +%Y_%m%d --date="13 day ago"`*.jpeg
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 すると このアクセスポイントが消えるのが素晴らしい



28-A) 自分でコントロールする wifi access point


https://nims11.wordpress.com/2013/05/22/using-hostapd-with-dnsmasq-to-create-virtual-wifi-access-point-in-linux/

ですね
必要なものは hostapd と dnsmasq だけです。

んで 以下のスクリプトを 実行するだけで OK。
つまり ./initSoftAP.bat

 initSoftAP.bat 

x=`ip link | grep wlp |  cut -d ' ' -f 2 | sed "s/://g" -`
y=`ip link | grep enp |  cut -d ' ' -f 2 | sed "s/://g" -`
ifconfig $x up 172.24.1.1 netmask 255.255.255.0
sleep 2
if [ -z "$(ps -e | grep dnsmasq)" ]
then
 dnsmasq
fi
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $y -j MASQUERADE
iptables --append FORWARD --in-interface $x -j ACCEPT
sysctl -w net.ipv4.ip_forward=1
hostapd /etc/hostapd/hostapd.conf 1> /dev/null
killall dnsmasq



設定ファイルは
/etc/hostapd/hostapd.conf 
ssid=Mypoint
wpa_passphrase=1122334455
interface=wlp0s29u1u4
auth_algs=3
channel=7
driver=nl80211
hw_mode=g
logger_stdout=-1
logger_stdout_level=2
max_num_sta=5
rsn_pairwise=CCMP
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP




 /etc/dnsmasq.conf         
interface=wlp0s29u1u4      # Use interface wlan0  
listen-address=172.24.1.1 # Explicitly specify the address to listen on  
bind-interfaces      # Bind to the interface to make sure we aren't sending things elsewhere  
server=8.8.8.8       # Forward DNS requests to Google DNS  
domain-needed        # Don't forward short names  
bogus-priv           
dhcp-range=172.24.1.50,172.24.1.55,12h 


シンプルで大変 ビューティフル




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
でやっている


31)wifi の自動起動

ls /etc/netctl/
Huyou-----  hooks wlp0s26f7u2-tenda  wlp0s29f7u6-FON_AP
bridge    interfaces wlp0s26f7u3-tenda  wlp0s29f7u6-MyPlace
examples    wlp0s26f7u2-priori wlp0s29f7u4-tenda

ifconfig | grep wlp

wlp0s29f7u4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500


なので
netctl start wlp0s29f7u4-tenda
netctl enable wlp0s29f7u4-tenda

systemctl disable dhcpcd





32) バックアップ

450GB:sda
raid1:      sdc(sataでraid1 を組んでます)
130GB:    sdb

cat /rsync-450-to-130.bat
rsync -avHx --delete --exclude 'home/js'    /mb1/    /mc1/

mkdir -p   /mc1/home/js

cp -aR      /mb1/home/js/.config    /mc1/home/js/.config




backup

archのisoを ddして作った USBメモリで起動して
pacman -Sy rsync


mkfs.btrfs -f /dev/sde1  /dev/sdf1
mount /dev/sde1 /mnt

mount /dev/sdb1 /mb1

rsync -avHx --delete /mb1/ /mnt/





33) amazon プライムビデオをみる

https://wiki.archlinux.jp/index.php/Chromium#Widevine_Content_Decryption_Module_.E3.83.97.E3.83.A9.E3.82.B0.E3.82.A4.E3.83.B3
をみて

Widevine は Google の Encrypted Media Extensions (EME) Content Decryption Module (CDM) です。Netflix などの有料ビデオコンテンツを視聴するのに使われます。Widevine は Chrome には同梱されています。

Widevine CDM を Chromium にインストールするには、chromium-widevineAUR パッケージをインストールしてください。

chrome://plugins でプラグインが有効になっていることを確認しましょう。



























































































































以下は未確認状態
ファイル名の文字コードの変更 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





1')  CPU0: Intel Celeron(R) Dual-Core CPU       T3100  @ 1.90GHz 
セレロンはやっぱり限界かなあ



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 より早いなー





0 件のコメント:

コメントを投稿