nDiki : UNIX

UNIX

関連情報

  • ディレクトリ

2009年8月25日 (火)

ActivePerl をやめて Strawberry Perl

ActivePerl 5.10.0.1005 + Visual Studio 2005 SP1 上で PAR::Packer を使って実行可能ファイル化したものの、今日別の環境で動かしたら「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」というエラーがでてしまった。

今まで Visual Studio 6.0 で PPM パッケージの作成やら PAR::Packer による実行可能ファイル化をしていたので気がつかなかったのだが、調べてみると Visual Studio 2005 以降だとどうもいろいろ面倒らしい。

ActivePerl + PPM パッケージだと自分で PPM リポジトリを用意しておくことで、開発環境の統一が楽になるという利点があったのだけれどもしばらく一筋縄ではいかなさそうなので、別の Perl ディストリビューションを使ってみることにした。

Windows 上の Perl としてしばらく使ってみることにしたのは Strawberry Perl。現在のバージョンは 5.10.0.6。 以前にもちょっと入れてみたことはあったけれども、きちんと使ってみるのは初めて。

MinGW や dmake が同梱されており、CPAN.pm を使って UNIX 上と近い感覚で Perl モジュールのインストールができる。 PAR::Packer を使って実行可能ファイル化した Perl スクリプトも実行できることを確認。

しばらく乗り替えてみることにする。

[ 8月25日全て ]

2010年10月23日 (土)

REGZA Z1 で Debian GNU/Linuxファイル共有を LAN ハードディスクとして使う

REGZA 37Z1 で PC 上の動画を再生できるようにしたいので設定を。 最初は MediaTomb をちょっと設定したみたのだが、REGZA 側で認識しないようなのでヤメ。結局 Samba 経由で動画を観られるようにした。

  1. Samba 側でファイル共有を設定する。
    1. 'regza' UNIX ユーザを作る。
    2. smbpasswd -a regza でパスワードを設定する。
      • 最初 'regza' UNIX ユーザを作らないでやったら作れなかった。
    3. smb.conf を編集して regza セクションを作る。
      • path = /home/naney/srv/samba/regza、read only = No 他を設定。
      • regza ユーザで /home/naney/srv/samba/regza に書き込めるようにする。
      • /home/naney 以下に作ったのは PC 上での操作やバックアップ等の点で。普通なら /home/regza 以下で共有する方が楽。
  2. REGZA 側で LAN ハードディスク登録する。
    1. [設定メニュー]-[レグザリンク設定]-[LANハードディスク設定]-[機器の登録]
      1. [緑] を押してワークグループ名を Samba 側と同じものに変更。
      2. [青] を押してユーザ名 'regza' とパスワードを設定。
      3. 検索して一覧に Sambaファイル共有が出たら選択。

REGZA 側から書き込めるかどうかが肝らしい。 書き込めないと登録のための一覧にすら表示されないので注意。 実際に録画リストから動画を表示・再生させるとファイル共有ディレクトリに *.chap ファイルや *.meta ファイルが書き込まれるので、そのため書き込み権限が必要らしい。

あとは REGZA動画再生に対応した動画ファイルをファイル共有ディレクトリに置けば OK。サブディレクトリを作ってそこに置いた場合は REGZA の録画リストでフォルダとして表示されてフォルダを選んで中を見ることができる。

肝心の動画ファイルについては FFmpeg で試行錯誤中。YouTube の HD 720p の動画は変換して再生することができた。IXY DIGITAL 210 IS で撮った 640x480 の動画はまだ再生できず。試行錯誤が必要だな。

[ 10月23日全て ]

2010年11月16日 (火)

Xperia を root 化してシャッター無音化とスクリーンショット取得可能化

Xperia SO-01B も Android 2.1 になったわけだけれど、NTTドコモも次々 Android 端末出してるし Xperia も後継機種の噂が出ているしで、ビジネス的にも開発リソース的にも Android 2.2 以降へのアップデートの可能性はちょっと低くなってるんじゃないかなと思う今日このごろ。 であればそろそろ root 化にチャレンジしてもいいよね?

ということで Web で調べ調べしながら root 化。

root 化アプリケーションの z4root を使う。

マーケットで z4root を検索してインストール。 起動したら画面中央の Root ボタンを押す。 「USB デバッグが有効になってないよ」という主旨のダイアログが出たので、ボタンを押すと Xperia の[アプリケーション設定]画面が開く。[開発]の中の[USBデバッグ]をチェック。

再度 z4root を実行して Root ボタンを押す。

しばらく待つと再起動がかかる。

再起動後 z4root を実行するとスーパーユーザ権限与えてねダイアログが出るので許可する(1度ここでもたもたしてたら Root 取れなかったみたいで再度 Root ボタンを押してやりなおした)。

root が取れると z4root の画面は Re-root と Un-root の2つのボタンが表示されるようになる。

Debian GNU/Linux から adb で Xperia にリモート接続できるようにする

Android 開発環境以前インストールしてあったので、その中にある tools ディレクトリの下の adb コマンドを使う。

 adb devices

すると

 List of devices attached
 ????????????    no permissions

と表示される。udev の設定が必要らしい。

 echo 'SUBSYSTEM=="usb",SYSFS{idVendor}=="0fce",Mode="0666"' > /etc/udev/rules.d/51-android.rules

して /etc/init.d/udev restart。adb 系のプロセスが動いていれば kill。

この状態で

 adb shell

を実行して

 $

というプロンプトが出たらリモート接続成功。

カメラのシャッター音設定で OFF を選べるようにする

Xperia の /system/build.prop というテキストファイルを書き換えればいいらしい。

adb shell で入っている状態で su を実行。

 $ su

初めての場合 z4root がインストールしてくれた Android アプリ 「Superuser」が Xperia 上で開いて /system/bin/sh にスーパーユーザ権限を与えて良いかときいてくるので許可する。 うまくいくと adb のプロンプトが # にかわる。

次に /system を書き込めるように remount する。

 # mount ← どこにマウントされているか確認。
 # mount -o remount,rw /dev/block/mtdblock2 /system ← rw で remount。

これまた z4root が インストールしてくれている、UNIX コマンドラインユーティリティをひとまとめにした BusyBox を使う。/system/bin/busybox としてコマンドが入っているのでこれを適宜呼び出す(busybox ファイルを ls やら grep やら vi やらといった名前でコピーするかシンボリックリンクを張るかすると、直接その機能が実行されるようになるのだが、ここではその設定は今はやらないでおいた)。

 # busybox cp /system/build.prop /system/build.prop.original ← 編集前を残す。
 # busybox vi /system/build.prop ← vi で開く。

で vi エディタが開くので /system/build.prop ファイルを編集。

 ro.camera.sound.forced=1

 ro.camera.sound.forced=0

に書き換えて保存したら Xperia再起動

これでカメラの設定画面中のシャッター音で OFF が選べるようになった。

スクリーンショットをとれるようにする

マーケットから Drocap2 をインストール。 drocap2 を実行して、メニューボタンから[設定]を選び、[撮影モード]で[通知で撮る]を選択。 そうすると通知バーを引き出した中に[drocap2トリガー]というのがあらわれるようになるので、スクリーンショットをとりたいときにそれを実行する。

初回は Android アプリ 「Superuser」がスーパーユーザ権限を与えて良いかときいてくるので許可する。 これでスクリーンショットが端末単独でとれるようになった。

めでたしめでたし。

追記

2011年1月19日のソフトウェア更新でマルチタッチ対応した Xperia SO-01B では z4root が使えなくなった。 かわりに Flashtool で root 化ができる。→ 設定方法


[ Android アプリレビュー ]

[ 11月16日全て ]

2012年3月13日 (火)

先週末に Bitbucket と GitHub サインアップした

プライベートなリモート Git リポジトリを使えるように設定したんだけれど、実はローカル側で22番ポートで外に出れないというオチがついた。

ということで無料でプライベートリポジトリのもてる Buitbucket を使ってみることに。 username を最初 Naney にしたけど UNIX 系的にぽくないよねということでやっぱり naney に変えたという以外はあっさりと。

SSH でも HTTPS でもどちらでも接続できるので22番ポート問題も解決。ちょっと遅いかなと感じる以外はいい感じ。

あとついでに GitHub という SNS にも登録しておいた。

[ 3月13日全て ]

2012年10月23日 (火)

今日のさえずり: やっぱ窮地でのヒーロー登場シーンって涙腺ゆるむよね

  • 07:37 角2の入るバッグがないので工夫力が試されている。
  • 09:42 本日午前半休です。
  • 11:20 書類ワーク完了。
  • 11:39 平日昼間に映画館特撮観に行くのはさすがに気が引けるぐらいには大人。
  • 11:43 よーし、うちも UNIX talk コマンド clone 作ろう。
  • 11:49 恵比寿駅なんでもなかったのに渋谷駅ついたら豪雨、ナニコレ。
  • 12:04 大人なので宇宙刑事ギャバン THE MOVIE 観にきた。ご褒美。
  • 12:05 I'm at TOHOシネマズ 渋谷 (渋谷区, 東京都) http://t.co/3tjwrXKP
  • 12:08 あと2分で開演だけれど、ファミリーx2 カップルx1 中年男性x2 老人x1
  • 13:50 ギャ・ギャ・ギャバン感涙した!!
  • 14:06 映画観たら、脳から何か出て眼精疲労改善した。
  • 14:07 @finalfusion ですです。観終えました。いいっす!
  • 14:10 ヤバいヤバい、NEW MAD TAPE バージョンが脳内リピートしてヤバい。
  • 14:51 アツい(心も室温も)。 (@ 株式会社ミクシィ (mixi, Inc.)) http://t.co/yh27smua
  • 15:44 遅ればせながら comm ちらっとチェックしているけど、求められるアクセス許可多いなー。
  • 16:21 そういえば映画館内に蚊いたし、今右手の甲の2月の窪みのところが痒い。
  • 16:52 開発環境、talk 入ってなかった。
  • 20:23 @py0n コメントありがとうございます。TC アクセスはもうちょっと先のコードでした。容量も問題ないとのことです。本日調査は一旦完了にしまーす。
  • 20:57 退勤。
  • 21:13 やっぱ窮地でのヒーロー登場シーンって涙腺ゆるむよね。
[ 10月23日全て ]

2013年6月16日 (日)

Twitter API v1.1 対応とか、パイプでやりとりするの JSON でいいのとか

Twitter API v1.1 に対応していないスクリプトがあって、たしか OAuth 対応はしてあるけど RSS 形式を使っていたので JSON で取得して処理するようにしなければなーと思ってたんだけれど、そもそも OAuth 対応すらしてなかった。

なので Net::Twitter::Lite を使うように書き換え。

あと、いままで1つのスクリプトで「Twitter API を呼び出してタイムライン取得」「シリアライズしてファイルに保存」「Wiki 形式に整形して書き出し」をしていたんだけれど、UNIX 哲学に従って小スクリプトに分割してパイプで受け渡すように変更するなど。

スクリプト間のやりとりは構造化テキストデータなので JSON にしたんだけれど、若干これでいいのかなぁ感はある。テキスト形式だし最近の主流フォーマットではあるんだけれど、それでもシェルから見ると複雑な形式な気がするんだよね。でもあと軽量な構造化テキストフォーマットだと YAML ぐらいかなぁ。

[ 6月16日全て ]

2013年7月5日 (金)

Haskell GHC で #!/usr/bin/runghc とか

ぼちぼち Haskell を実行してみたり。すごいH本だと ghci で対話モードでの例示が多いんだけれど、個人的にかったるい。

UNIX ならワンライナーでしょ shebang でしょ。で確認したら GHC の ghci の方じゃなくて ghc の方でワンライナーはできるのね。

 ghc -e 'putStr "Hello, World!"'

それと shebang での実行は runghc を使えば OK だった。

 #!/usr/bin/runghc
 main = putStr "Hello, World!"

みたいな感じ。

[ 7月5日全て ]

2014年6月13日 (金)

C MAGAZINE 電子書籍で復刻と、ビギナーの出発点としてのコンピュータ雑誌

C MAGAZINE 1989年10月号 Kindle 版 C MAGAZINE と言えば1989年から2006年まで出版されていたプログラミング雑誌。その C MAGAZINE が電子書籍で復刻というトピックがSBクリエイティブがで出ていた。

高校生の時に読み始めて、付録として収録されていた LSI C-86 試食版で C の世界に足を踏み入れた(それまでは BASIC 中心だった)。初めて Perl というものを知ったのも C MAGAZINE (記事)。

C MAGAZINE はオブジェクト指向などのパラダイムやいろいろなアルゴリズムなどのプログラミングについてのいろいろな事を知るきっかけとなっていた雑誌だった。当時はまだ World Wide Web にも触れておらず、プログラミングついての情報は雑誌・書籍が中心だった。

その後 UNIX Magazine や Software Design なんかで UNIX 系に触れていくことになったり。

コンピュータ雑誌を定期購読しなくなってから久しく、情報は Web から得られる時代にはなったけれど、やはり雑誌を通していろいろなきっかけを得るというのはまだまだ悪くないと思うんだよね。

ソフトウェアエンジニアビギナーのための推薦図書とかの話とか定期的にでるけれど、そういう層は特にコンピュータ雑誌を定期的に読むといいと思うんだよね。そこでいろいろなことに触れて面白そうなことを見つけて出発点とすれば良いと思う。

[ 6月13日全て ]

2014年6月24日 (火)

今日のさえずり: 新卒エンジニアがファイルを LZH 形式で用意してくれていて、なぜかツボにはまった

2014年06月24日

rimage:/nDiki/Flickr/14306886379.jpg

[ 6月24日全て ]

2021年2月4日 (木)

Google ドライブ拡張子 md の Markdown ファイルを全文検索できるように rclone でコピーする

拡張子 md の Markdown ファイルを「バックアップと同期」アプリで新規に同期したり、 Web 版の Google ドライブアップロードしたりすると MIME タイプが text/markdown となり全文検索対象にならない。不便。

StackEdit は Google ドライブに送る時の MIME タイプを設定で text/plain を選べるようにすることで問題を回避しているようだ。

rclone で text/plain で Google ドライブアップロードする

クラウドストレージ上のファイルを管理するためのコマンドラインプログラム rclone でアップロードするとどうだろうと思ってやってみたところ、ちょっと設定をいじれば拡張子 md の Markdown ファイルを text/plain で Google ドライブアップロードできることがわかった。

rclone では Google Drive API で新しいファイルを作成する際に、rclone 側で MIME タイプを判定している。内部的には Go の mime パッケージを使っている。

このパッケージは UNIX 系の環境では mime.type ファイルがあれば参照するようになっていたので macOS Catalina にあった /etc/apache2/mime.type ファイルの text/plain 行に md を追加して試したところ、めでたく text/plain として Google ドライブアップロードできた。全文検索対象になることも確認。

ちなみに「バックアップと同期」アプリは /etc/apache2/mime.type 変更の影響を受けなかった。

rclone での方法が分かったわけだけれど、実際のところ Markdown ファイルの Google ドライブとの同期や読み書きを rclone だけに限定するわけにもいかないな。引き続き拡張子 txt で管理するのが現実的のようだ。

[ 2月4日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.02733s / load averages: 0.31, 0.35, 0.36