min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

Linux

Linux コンソール上でGoogle カレンダー(gcalcli)を使ってみる(python3)

// このサイトにあるのを RaspberryPi(初代)で使ってみる。python製らしいので、python2か3かを明示して進める。今回は python3 環境。 orebibou.com pipなので sudoはしない で進めてみる。 $ pip install gcalcli gcalcliはGoogleCalenderCLIの略か。 使…

bash awk テレビ録画した動画ファイルの容量がGB超のものだけを一覧化してサイズ合計を表示する

// 録画した地デジ動画ファイルが溜まっているので、容量の大きい(GB超のもの)を取り出してブルーレイに焼きたい。動画はこんな感じ。 $ ls -shal | grep NHK.*ts.*mp4 サイズ(第1列)がギガバイト(G)のものだけにする。 $ ls -shal | grep NHK.*ts.*mp…

RaspberryPi(初代)に node.js をインストールする(youtube-dl npm版 + node-omxplayer)

// 前記事(RaspberryPi 3)と同じことをラズパイの初代でやろうとしたらエラーになった。初代は ARM v6だから(?)か、node.jsのインストールにクセがあるらしい。以下のサイト参考に進めた。 sweep3092.hatenablog.com ーーー $ wget https://s3-eu-west-…

MySQL(MariaDB) で 体重記録管理システム

// iPhoneから体重計の画像と体重数値を入力して送信→fedoraのPHPで、MySQLに格納する簡易体重記録システム。 ソース。 こないだまで動いてたのに、突然23行目のエラーに入るようになった。なんでかなと思ったら、15行目(黄色部分)でエラーになっていた。…

RaspberryPi のファームウェアをアップデートする

// RaspberryPIのファームウェアをアップデートする。最新になるといろいろ安定するようなので。今回は RaspberryPi(初代)で試す。別記事では RaspberryPi3で同じ手順をしたが、そちらもうまくいった。 ーーー 手順は以下サイトのとおり。そのまま。 qiita…

bash から python3 で twitter にテキストを投稿する

// python3 を使ってtwitterに投稿する。 注意点 python3 で動く。python2.7だと無理。 ソース 実行 $ python3 プログラム名.py Pythonで「ImportError: No module named requests」がでた時。 – FIZZY ROOM

jq、xmllintを切り捨てて全てシェルのパイプでやる漢(おとこ)の「日の出スクリプト」を試す

// この記事最高。UNIX哲学を体現したような。 qiita.com UNIX哲学って、単なる技術的な教示じゃない気がする。生き方とか片付けとか、仕事のしかたとか立ち居振る舞いに通ずる。 ーーー 記事内にある getsunrise.sh を fedoraで試す。 うーむ。すごい。Rasp…

RaspberryPi 3 で youtube を自動再生する(youtube-dl npm版 + node-omxplayer)

// RaspberryPi 3 でヌルヌルとスムーズな動画再生に欠かせない omxplayer に、node版というものがあるらしい。 pondad.net 適用なWebインターフェースを作れば、iPhoneやアンドロイドから自由に操作できるようにできそうな予感。 ーーー まずは node のイン…

RaspberryPi(初代)のカメラで写した動画を無線で飛ばして、RaspberryPi 3 に繋いだディスプレイで再生する

// このサイトでやってるのと同じこと。ラズパイ複数あるので試したらすぐできた。 qiita.com やること ① RaspberryPi(初代)のカメラで動画をとる → 無線で飛ばす ② RaspberryPi 3 のHDMI に繋いだディスプレイで再生する。 ーーー ① RaspberryPi(初代)…

RaspberryPi にマイクを接続 → docomo API を使った音声認識

docomo API を使って RaspberryPi で音声認識してみたい。興味のきっかけはこのあたり。 qiita.com 手順はここのとおりに進める。 qiita.com 使う RaspberryPiはこれ。初代だからスペック低いけど、実験には充分だろう。 ーーー $ lsusb $ cat /proc/asound/…

RaspberryPi で Python 2.7 と 3 の両方を使えるようにする

Python好きだけど、バージョン「2.7」と「3」が混在してて困る。ネットの情報も、2.7のソースと思ってコピペして動かしてみたら実は3のソースだったとか。分かりにくい。 ーーー RaspberryPi(初代)は、標準で 2.7系 が入っている。 3も動くようにしてみる…

RaspberryPi(初代)に Camera を取り付ける

RaspberryPi用のカメラを買ってあったんだけど、付ける機会がなかった。初代が空いたので、取り付けしてみる。 USBのすぐ後ろ(水色パーツの正面)がカメラ取り付け箇所。 ケースを開ける。 カメラを挿し込む。 挿し込みの時は、クリーム色のプラ部分を爪で…

RaspberryPi Zero 1.3 を海外サイト(Pimoroni)からAmazon決済で買う

Rapberry Pi Zero が気になっていたが、国内販売がないので買わないままでいた。最近新版(Ver1.3)が出たらしいので買ってみる。 deviceplus.jp fabcross.jp たった数センチの基盤なのに、スペック的には初代 Pi 1 B+ より上らしい。 www.youtube.com CPUは…

RaspberryPi 3 に libdvdcss2 をインストールする

// libdvdcss2 を RaspberryPi 3 にインストールする必要が出た。このへん参照。 d.hatena.ne.jp 進める。 # sudo -s # wget http://archive.debian-maintainers.org/unofficial/packages/libdvdcss/1.2.10-1_i386/libdvdcss2_1.2.10-1_i386.deb # sudo dpkg…

RaspberryPi 3 に HandBrakeCLI をインストールしてDVD吸い出し&mp4にエンコードする → 成功

// 前記事で、RaspberryPi(初代)にHandBrakeのインストールができなかった。 min117.hatenablog.com リベンジに、RaspberryPi 3 に HandBrake をインストールすることにする。初代 と 3 とでは、3のほうがCPUの数が4倍に増えているし、エンコードスピード…

iMac 5K Retinaの素晴らしさを実感する

iMac 5K を買って2週間。ブログ書くのにプログラミングに…とにかく最高の環境ができた。あまりに素晴らしいので残しておく。 ーーー 画像 ディスプレイがRetinaでしかも5Kなので、大きな画像でもクッキリ。例えば、以下のサイトから落とした高画質サンプル画…

フィボナッチ数列を求めるbashスクリプト

// 前記事の続き。 min117.hatenablog.com フィボナッチ数列(おさらい) www.ted.com 隣り合う数字を足したのが次の数字になる。FizzBuzzもいいけど、なぜか好きこれ。 たぶん、生き方とかダイエットとかに関係する。 ーーー ソース 実行してみる。

fedora20 の Docker に SQL Server のLinux版をインストールする

業務で SQL Server を使う機会に遭遇。今まで Oracle ばっかだったから、ちょうど勉強したいなと思っていたら、いいタイミングで SQL Server のLinux版がリリースされたようだ。 さっそくこんないい記事がUPされていた。 qiita.com これにならって、Docker環…

fedora20 の Docker をアンインストールしてから再インストールする

SQLServerのLinux版が出たらしい。早速 Docker で動かしてみたい。 qiita.com と思ってDockerを起動したら、「Base Device UUID verification failed」とかいう訳のわからないエラーが出てしまった。 ーーー 色々調べたけど、udevのエラーらしい。githubによ…

RaspberryPi3 を h264動画変換サーバにする(再挑戦)

前記事で保留にしてた件。 min117.hatenablog.com うまくいかなくて塩漬けにしてたけど、詳しい人が記事を書いてくれていた。 orumin.blogspot.jp しかし、レベルが高くてよくわからない。「MPEG2-TSには複数の動画ストリームが入っているからうまくいかない…

シェル芸 awkでASCIIアート出力

Twitterかどっかで拾ったこの画像。たぶんシェル芸勉強会か何かの画像だろう。 この人の技術も何か関係してそうだけど。 qiita.com どこで拾ったか忘れた。 ーーー この画像のソースをそのまま書いてみる。 $ vim suddun_death.sh 何が起きるかは分からない…

LinuxのSQL*Plusでbashのhistory機能を使う(カーソル↑↓で履歴を呼び出す)

前記事でLinuxでsqlplusを使えるようにした(Oracle謹製Instant Clientを使用)。 min117.hatenablog.com しかし、ヒストリ機能がない(Instant Clientだから?)。例えば矢印キー(↑や↓)を押しても、過去の履歴を表示できない。これじゃ実用に耐えない。 …

LinuxのSQL*PlusからWindowsのOracleサーバにアクセスする(Linux版 Instant Client を使う)

Windows2003上にOracleサーバ(10.2.0.4.0)がいる。クライアント機(fedora Linux)から、このサーバにsqlplusでアクセスしたい。 ーーー 今までは、VNCでWindowsサーバに入って、そこからsqlplusを起動していた。 これだと、VNCの環境のせいか、キーボード…

bash BUFFALOの無線LANルータをリモートからコマンドで再起動する

BUFFALO製の無線LANルータ WXR-1750DHP 買った。1万円超のグレードだけあって、性能よい。 中継器も付けて快適。 と思ったら、たまに親機(WXR--1750DHP)の通信がフン詰まることがある。再起動すれば直るけど、その都度ルータのある場所に行くのは面倒。 ー…

fedora wiresharkのGUI版をインストールするには yum -y install wireshark-gnome を使う

fedora20 でパケットキャプチャの必要が出た。wiresharkをインストールしたい。とりあえず yum で入れてみる。 $ sudo yum -y install wireshark インストールはすんなり成功したものの、GUIメニューに「wireshark」が無くて困った。起動できない。インスト…

bash シェルからcurlでPHPを叩く

// fedoraサーバにあるrecHTTP.phpファイルにGETで引数を投げてやると、「録画プロセスrecpt1が起動しているか」を判定して返すようにしてある。 いつもはブラウザから実行してた。 これを、RaspberryPiやMacのシェル(bash)上からコマンド実行できるように…

bash Linuxシェルと同じことをWindowsバッチでやる

// Linuxシェルは毎日の生活になっているので普通に使ってたけど、ここにきて仕事でWindowsバッチを書くことが多くなった。両方で同じことをしたい。 ーーー 今いるフォルダの一覧を取得する(lsと同じ)を、bashとWindowsバッチと両方でやってみる。 ① Linu…

bash sedを使って文字をタテにして短冊にする

// bashいじればいじるほど面白い。GNU sedでは変換後の文字として改行を指定できるらしい。 $ echo 文字をタテにして短冊にするテスト | sed 's/./&\n/g' 任意の一文字(ドット)を、アンド記号( & )がそのまま受けとって、そのあとに改行( \n )を付加…

bash テレビを音楽プレイヤーにする

RaspberryPiの/volumes/mp3 にマウントしたフォルダにある大量のmp3から、指定した単語を含むファイルを検索して、テレビで音楽再生する。 ソース $ vim mymp3z.sh コツ 26行目…IFSを空白以外に指定している。これやらないと、ファイル名に空白を含んだmp3が…

bash manコマンドを引数manで実行する

// コマンドの後ろの数字がマニュアルの章を表すのは知ってるけど…1章と3章のどっちがシェルコマンドで、どっちがライブラリだったか。すぐ忘れる。 scanf(1) 1章記載…シェルコマンドとしてのscanf scanf(3) 3章記載…C言語の関数としてのscanf(プログラムラ…

bash USP研究所「シェルプログラミング実用テクニック」より GancarzのUNIX哲学

// USP研究所「シェルプログラミング実用テクニック」買った。冒頭の「GancarzのUNIX哲学」にあまりにも感動したので載せておく。 どれ1つとっても、実感をもってウンウンと頷いてしまう。 ほんと良い本を買った。

bash 今いるフォルダ内にあるファイルの拡張子を取得する(if文の中でorを使う)

// 今いるフォルダの中に、拡張子がtxtやlogな細かいファイルがたくさんある。その拡張子だけ取り出したい。 ソース こんなフォルダで実行してみる。 $ ./mynkf.sh ポイントは2つ。 19行目 拡張子を取り出すには、bashの「パラメータ展開」を使う。シャープ2…

bash 今いるフォルダ内にあるファイル一覧、フォルダ一覧を配列に格納する

// bashで、フォルダ内にあるファイルやディレクトリの一覧を配列に格納して使う。覚えるのは3つだけ。 ① 空の配列を作成する f_arr=() ② 配列に要素を追加 f_arr+=("$filepath") ③ i番目の配列要素を参照 ${f_arr[i]} 基本だけど色々使えそう。

MacBookAir 内蔵カメラでコマンドから音無し自撮りする(imagesnap)

// MacbookAir にはディスプレイの上にカメラが付いている。 bashのコマンドラインから使えるとよいなと思って調べた。imagesnap という良いソフトがあるらしい。 imagesnap ImageSnap: Capture images from iSight and other sources from the command line…

Windows10 AnniversaryUpdateをMicrosoftのサイトから手動で適用する

// 仮想環境のWindows10にAnniversaryUpdateが降ってこない。仮想環境だから?英語版だから?原因不明。bash使いたいんだが。 と思ってたら、ツイッターで見かけたこの記事。 手動でAnniversaryUpdateを適用できるらしい。 https://support.microsoft.com/ja…

bash lastコマンドで得たログイン情報を一意化して並べ替え、いつどこからリモート接続したか一覧化する

// 自前サーバのlastコマンドの結果。 左から3つ目のフィールドが、リモートからのログイン情報。これを、ログイン者ごと、最新のログイン時間と一緒に一覧化する。 擬似コマンド SELECT DISTINCT login_user,login_time FROM last_log ORDER BY login_time;…

bash dockerの日本語の文字化けは export LC_ALL=ja_JP.UTF-8 で解決

// docker にアタッチした状態で nginx の index.html に日本語を書いたら文字化けした。調べて、以下で解決。 ーーー dockerにアタッチた状態で # export LC_ALL=ja_JP.UTF-8 一応、実験した docker のバージョンも載せておく。ホストOSは fedora20、docker…

bash docker の最新版をfedoraにインストールする

fedoraに最新のdockerをインストールしたい。 # yum -y install docker-io だと、バージョン1.5がインストールされてしまう。かなり古いからダメ。 ーーー 最新版のdockerインストールは以下のコマンドでできるらしい。 # curl -sSL https://get.docker.com/…

bash dockerの削除は sudo yum erase docker-io で行う(末尾 に -io が付く)

dockerでエラーが出た。 # docker run --privileged -t -i -d -p 7071:80 -v /mnt:/mnt --name example-nginx-binbash centos:7 /bin/bash Could not reach any registry endpoint でエラー。 ーーー dockerをUpgradeすれば直るらしい。 # sudo yum upgrade …

bash byobuで画面サイズが合わない時は、F9(環境設定)で自動アタッチをオフると解決する

RaspberryPiにsshログインすると、自動的にbyobuにアタッチされる。が、画面サイズがどうもおかしい。前にiPhoneからsshしたときのサイズが残ってしまっている。 どうにも困ってたけど、F9から環境設定を変えたら解消した。 F9から環境設定に入り「Byobu cur…

bash rsync + ssh で、Dropboxにあるフォルダの中身を、別PCのフォルダ内に同期する

// やりたいこと PC1の下のtxtやpdfを、PC2やPC3に同期する(バックアップしたい)。赤文字を、青文字のところに退避したい。 ーーー PC1 Dropbox sh ファイル1.txt ファイル2.pdf PC2 Dropbox2 sh ファイル1.txt ファイル2.pdf ファイル3.xlsx PC3 Dropbox_…

RaspberryPi 3 Apache/2.4.10 (Raspbian) で「403 Forbidden」の対処

// RaspberryPi3 で Webサーバ立てる。apache2.4.10。 症状 「You don't have permission to access /*** on this server.」(403 Forbidden)エラーが出てアクセスできない 直し方 apache2.4での仕様変更が原因だった。2.4の書き方に直せば解決する。 2.…

php ブラウザ上でPINGを飛ばしてサーバの生存確認をする

// WakeOnLanで起動させた遠隔地のサーバが正しく起動したかどうかを確認したい。 構成 ①サーバ(192.168.3.11) 普段はスリープ状態。WakeOnLanで起動させる ②RaspberryPi(192.168.3.9) サーバのすぐ隣にある。Webサービス(Apache)あり。PHPあり。 やる…

fedora 自動S3スリープ(pm-hibernate)→ WOLで自動起動(夜間電力運用) → WakeUPのときにpt3_drvが読み込まれない → /etc/pm/config.d/pt3 で対処

メインサーバ fedora の電気代がそこそこ高くつくので、安い夜間電力での運用に切り替える。 流れ 朝 6:55 自動でスリープする (pm-hibernateコマンドをサーバのcronに登録する) 夜22:55 自動起動する (WOL=WakeOnLan/常時起動のRaspberryPiからMagicPa…

RaspberryPi 3 vimrc(syntax on、set number)で文字色&行番号を表示する

// RaspberryPi3 を買ってから、何でかvimに文字色が付かないなぁと思ってたらvimrcを変更するのを忘れてた。 $ sudo vim /etc/vim/vimrc (変更前) "syntax on (変更後)syntax on ← コメントを外す 変更は即座に有効になるらしい。文字色がついた。 つい…

fedora BUFFALOのUSB無線LAN子機 WLI-UC-GNM をLinuxで使う

母艦サーバfedoraを無線LAN化する必要が出てきた。 サーバ本体はこれ。右に青く光るのが今回挿したUSB無線LAN子機。 USB無線LAN子機はこれ。WLI-UC-GNM。 http://buffalo.jp/product/wireless-lan/client/wli-uc-gnm/ とりあえず lsusb してどう認識されてい…

RaspberryPi 3 をh264動画変換サーバにする(twitter情報 mpegts2h246.sh を試す)

// 前2記事の続き。 min117.hatenablog.com min117.hatenablog.com twitter で情報をくれた人がいた。 技術者見習いの独り言: Raspberry PiでH.264エンコード これはかなり期待。 ーーー #!/usr/bin/bash # # Usage: mpegts2h264.sh <src.ts> <dst.mp4> # program_no=$(ffmpeg</dst.mp4></src.ts>…

RaspberryPi 3 cronが実行されない

RaspberryPi2 のときはうまくいってたcron。 RaspberryPi3 で同じ設定してるのになぜか実行されない。 よく見たら時間設定が違う。JSTじゃない。USTになってる。実行されないハズだ。 $ sudo -s # sudo apt-get install ntpdate # sudo ntpdate -u ntp.jst.m…

fedora docker起動エラー( Error running DeviceCreate (ActivateDevice) dm_task_run failed )

// 2016/6/5(日)。dockerの起動エラーに遭遇。 dockerサービスのkill(# systemctl stop docker)をし忘れたまま、それを動かしてるOS(fedora)ごと再起動してしまった。直後からdockerが起動エラー。 「dm_task_run failed」となってしまう。 # docker s…

bash if文のカッコ[[ ]]で正規表現/RaspberryPi(omxplayer)でテレビをMV動画プレイヤーにする

// 拡張子mkvとmp4とwebmが混在したフォルダ内から、mkvのものだけを抜き出して、ファイル名に「Pick」または「レーザー」が含んだものだけを再生する。 ーーー フォルダ内はこれ。 $ for i in *mkv; do if [[ "$i" =~ .*Pick.* || "$i" =~ .*レーザー.* …