2012年03月25日

Ubuntu(Thunar)で便利なカスタム・アクション

先日僕のXubuntuでもWindowsやMac OS版のようにDropboxのパブリック・リンク取得メニューを使いたい!、という事で、XFceでファイル・マネージャーであるThunarにDropbox用のカスタム・アクションを用意したのですが、その後も”そういえばあれも、これも欲しい・・・”と幾つかカスタム・アクションを作成したのでまとめてみます。

スクリーンショット - 2012年03月25日 - 21時43分11秒

基本的な設定・利用方法


カスタム・アクションはファイルマネージャーを開き、編集 > アクションの設定から追加できます。

スクリーンショット - 2012年03月25日 - 21時47分35秒

表示された画面からカスタム・アクションの作成ボタンをクリックすると、

スクリーンショット - 2012年03月25日 - 21時48分51秒

名前、コマンドを登録することが出来ます。登録した名前はファイル・マネージャーで右クリックした際に表示されるメニューに表示され、選択すると設定したコマンドが実行されます。

登場する条件タブでは右クリック・メニューに表示する条件が設定できます。今回ご紹介するカスタム・アクションは基本的に全ての場合で表示させます。

スクリーンショット - 2012年03月25日 - 21時49分09秒

登録したカスタム・アクションがメニューに表示されないという方は一度ログアウトしてみると表示されるようになります。

さあ、それでは早速やってみましょう。


Dropboxのパブリック・リンクを取得してクリップボードに送る


DropboxのPublicフォルダに保存したデータの公開URLをクリップ・ボードに送ります。詳しくは以前の記事を参照して下さい。

NETBUFFALO:Ubuntu(Xfce)でDropboxのパブリックリンク・メニューを表示する


日付入りのファイル名でテキスト・ファイルを作成してエディタで開く


僕の場合、メモを取るときに明確なタイトルが決まっているとは限らないので、保存する際にいちいちファイル名を聞かずに日付でも入れてくれれば便利なのになーと思うことあるんですが、それを実現するカスタム・アクションです。
 
1)設定コマンド
MYEDITER=gedit; NOW=`date | sed 's/\s\{1,\}//g'`; DEFNOTE="Note-$NOW.txt"; if [ -d %f ]; then PATHNOTE=%f; else PATHNOTE=`dirname %f`; fi; NAMENOTE=$(zenity --entry --width=350 --entry-text="$DEFNOTE"); if [ $? -eq 0 ]; then $MYEDITER "$PATHNOTE/$NAMENOTE"; fi;
  
2)登場条件
全てにチェック

3)説明
右クリック・メニューに追加されたアクションを選択すると、

スクリーンショット - 2012年03月25日 - 22時22分59秒

日付入りのファイル名確認ダイアログが表示されます。

スクリーンショット - 2012年03月25日 - 22時23分26秒

OKとすれば、geditが開きます。

スクリーンショット - 2012年03月25日 - 22時24分11秒

さっとメモを記入して保存すれば右クリックした場所にファイルが保存されます。

スクリーンショット - 2012年03月25日 - 22時24分31秒

どうです?
え、大して便利じゃないって?・・・次行きましょうか。。


選択したファイル、フォルダをコピー先を指定してコピー


ファイルを別の場所にコピーしたい、そんな時にはファイルを右クリックしてコピーを選択、コピーしたい場所に移動して貼り付けますが、不便ですよね。このアクションではコピーを選択するとその場でコピー先の選択ダイアログが表示されます。

1)設定コマンド
TO_DIR=`zenity --file-selection --directory --title="Copy to ..."`; if [ "$TO_DIR" != "" -a -d $TO_DIR ]; then cp -pr %f $TO_DIR; if [ $? -eq 0 ]; then MSG="ファイルをコピーしました。"; else MSG="ファイルのコピーに失敗しました。"; fi;  zenity --info --text="$MSG\n\nコマンド:\n\ncp -pr  %f $TO_DIR"; fi;

2)登場条件
全てにチェック

3)説明
ファイル、フォルダー上で右クリックし、登録したアクション(ここではCopy to...)を選択します。

スクリーンショット - 2012年03月25日 - 22時34分45秒

するとコピー先選択ダイアログが表示されます。

スクリーンショット - 2012年03月25日 - 22時36分12秒

コピー先を選択して、OKボタンを押せばコピーが行われます。

スクリーンショット - 2012年03月25日 - 22時36分30秒


選択したファイル、フォルダを移動先を指定して移動


コピーの移動(mv)版です。

1)設定コマンド
TO_DIR=`zenity --file-selection --directory --title="Move to ..."`; if [ "$TO_DIR" != "" -a -d $TO_DIR ]; then mv %f $TO_DIR; if [ $? -eq 0 ]; then MSG="ファイルを移動しました。"; else MSG="ファイルの移動に失敗しました。"; fi;  zenity --info --text="$MSG\n\nコマンド:\n\nmv %f $TO_DIR"; fi;

2)登場条件
全てにチェック


簡易バックアップ(世代管理あり)


簡単にバックアップをしたい時、コピーして別名で保存しておくことありますよね?
これをもう少し便利にしたアクションです。基本的にはコピーですが、バックアップしたデータを世代別に管理してれます。

1)設定コマンド
if [ -d %f ]; then if [ -e %f.back ]; then :; else mkdir %f.back; fi; cp -pr --backup=t %f/* %f.back/; else cp --backup=t %f  %f.back; fi;

2)登場条件
全てにチェック

3)説明
大事なファイル、フォルダ上で右クリックし、登録したアクションを選択します。

スクリーンショット - 2012年03月25日 - 22時46分01秒

すると、*.backという名前でコピーが作成されます。

スクリーンショット - 2012年03月25日 - 22時49分08秒

中身はコピー元と同じデータです。

スクリーンショット - 2012年03月25日 - 22時47分03秒

さあ、もう一回コピー元のフォルダを右クリックしてバックアップしてみましょう。
今度は新たにフォルダは作成されません、*.backフォルダの中身を見てみると、、、

スクリーンショット - 2012年03月25日 - 22時47分52秒

古いデータが”〜1〜”という形式で世代管理されて残っています。
これで、”やっぱり2世代前のデータを見返してみたい”、という状況にも対応できますね。


画像ファイルからEXIFデータを一括削除


カメラで撮影した画像ファイルにはEXIFと呼ばれる属性情報が含まれており、”気づかないうちに個人情報が漏洩していた!”ということにもなりかねません。

Exif怖すぎワロタwww iphoneで撮った画像を何も考えずうpすると顔バレ・住所バレの危険あり モザイクしても意味なし | ニュース2ちゃんねる
iphoneで撮影した写真はモザイクをかけても見えてしまう?

このEXIFデータを画像ファイルから削除します。

1)設定コマンド
if [ -d %f ]; then if [ -e %f-nonexif ]; then rm -rf %f-nonexif; fi; cp -pr %f %f-nonexif; mogrify -verbose -strip %f-nonexif/* | zenity --progress --pulsate --text="Removing EXIF..."; else bname=`basename %f`; dname=`dirname %f`; cp %f "$dname/NonExif_$bname";  mogrify -verbose -strip "$dname/NonExif_$bname" | zenity --progress --pulsate --text="Removing EXIF"; fi;

2)登録条件
画像ファイル、フォルダ

3)説明
画像ファイルまたは画像ファイルを含んだフォルダを右クリックして登録したアクションを選択します。

exif

すると、EXIF情報の削除された”NonExif_オリジナル・ファイル名”という画像ファイルが新たに作成されます。

スクリーンショット - 2012年03月25日 - 23時18分56秒

削除前後の画像のEXIF情報を見てみると、属性情報が消えていることがわかります。

スクリーンショット - 2012年03月25日 - 23時21分39秒
(左がオリジナル、右がEXIF削除後の画像のプロパティ)

フォルダ上で右クリックして実行すると、そのフォルダの中に含まれる全ての画像ファイルからEXIF情報を削除し、新たに”フォルダ名-nonexif”というフォルダを作成します。

スクリーンショット - 2012年03月25日 - 23時27分55秒

このアクションではImageMagickに含まれるmogrifyというコマンドを使っています(-stripオプション)。
もし、ImageMagicがインストールされていない(動かない)、という方はソフトウェア・センターまたは次にのコマンドを端末から実行してインストールして下さい。
 
$ sudo apt-get install imagemagick


如何だったでしょうか?1つぐらいお役に立ちそうなカスタム・アクションがあるとうれしいなぁ。




I-O DATA 旅の思い出の足あとを楽しむGPSロガー GPSLOG
アイ・オー・データ (2011-02-10)
売り上げランキング: 1149

Posted by netbuffalo at 23:46│Comments(0)TrackBack(0)Linux 


この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/netbuffalo/3916947

コメントする

名前
URL
 
  絵文字