nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Ubuntu MATEで文字化けせずにzipファイルを展開するスクリプトを作りました

※この記事はQiitaにも投稿しています。

Ubuntu MATEのCaja(Nautilus)上でzipファイルを右クリックして「展開」すると文字化けします。MATEの書庫マネージャーであるEngrampa(file-roller)で読み込んでも文字化けします。
文字化けはJapanese Teamのリポジトリを有効にして ubuntu-defaults-ja をインストールしても解消されません。
これはMATEの依存関係でp7zip-fullがインストールされているためです。(Engrampaが依存しているので削除できません)
そしてfile-rollerは仕様としてunzipよりも7zのコマンドを優先して使用してしまうためです。
端末からunzipを行えば文字化けせずに展開できますが、毎回コマンドで展開するのは手間がかかるのでCajaから実行できるシェルスクリプトを作成しました。

0. 環境

1. スクリプトファイルを作成する

~/.config/caja/scripts に任意のファイル名でファイルを作成します。

#!/bin/bash

for arg
do
    basename=${arg##*/}
    extension=${basename##*.}
    case "${extension}" in
        zip)
            unzip -OCP932 "${arg}"
            ;;
        rar)
            unrar -x "${arg}"
            ;;
        7z)
            p7zip -d "${arg}"
            ;;
        *)
            # unknown file
            ;;
    esac
done
exit 0

2. 実行権限を付与する

作成したスクリプトファイルに実行権限を付与します。

$ chmod u+x ~/.config/caja/scripts/extract.sh

3. Cajaから実行する

展開したい圧縮ファイルを選んで(複数選択可)、コンテキストメニューの「スクリプト」→「(1で作ったスクリプト)」を選択してスクリプトを実行します。
これで文字化けせずにファイルを展開できます。

※rarを展開する場合は、 unrar-free ではなく unrar (non-free) のインストールをおすすめします。

X. 参考

X. 関連

Ubuntu MATE 16.04をインストール - その1 USBインストーラーの作成

Ubuntu 14.04を使っていましたが、LTS版で最新の16.04が出たこともありアップグレードすることにしました。

個人的にはUnityよりもGnome2のUIが好きなのでUbuntu MATEを選択。
どうせならとクリーンインストールしてまっさらな環境から再構築しました。

まずはインストールメディアの作成が必要なのでUbuntu MATEのサイトからダウンロードします。
残念ながらミラーサーバーが存在しないようなのでオリジナルサーバーから取得(torrentも試しましたがシードも居ないためダウンロードできず…)

インストール予定のPCは光学ドライブがついていないので、USBフラッシュメモリーを利用します。
UbuntuにはUSBインストーラーの作成ツールが用意されていますが、今回はMacで作成しました。

# そのままではうまく書き込めないのでイメージをコンバートします
$ hdiutil convert -format UDRW -o ubuntu-mate-16.04.1-desktop-amd64.img ubuntu-mate-16.04.1-desktop-amd64.iso

# USBメモリーのデバイスを確認します /dev/disk[0-9]s[0-9]
$ diskutil list

# 確認したデバイス名を指定してアンマウントします(パーティションを指定)
$ hdiutil umount /dev/disk?s?

# ddで書き込みます。ここで指定するのはパーティションではなくデバイスです
# (またconvert時に .dmg が勝手に付与されてしまいます)
$ sudo dd if=ubuntu-mate-16.04.1-desktop-amd64.img.dmg of=/dev/disk? bs=1m

書き込みが終わるとMacで再認識されますが、正しく認識されずフォーマットしますか?と確認されます。
間違ってフォーマットしないように注意します。

このUSBインストーラーを使ってUbuntu MATEをインストールします。
(インストールの過程は割愛)

その2ではインストール後の作業メモを書きます。

関連

オープンソースカンファレンス2016 Okinawaに参加してきたよ

今更感はありますが、今月頭の07/02(土)に沖縄コンベンションセンターで行われたオープンソースカンファレンス2016 Okinawaに参加してきました。

2009年ぐらいからほぼ毎年参加してますが回を重ねるごとに参加団体が徐々に増えている印象です。


未だに話の振り方、切り上げ方が上手くできないのでブースの人たちに気軽に話しかけられない……
慣れとは言いつつも適当に(手頃なタイミングで)切り上げきれないので中々ね…… 延々と続けてしまうので難しいです。

そういえば、こんなものもありました。
どこのブースのものか判らなかったのですがカメラが付いていたので中継器かな……?

おまけ

新調したカメラの試運転も兼ねていたのですが前のカメラと違って中々良く撮れていました。
室内の写真は(人物が写り込んでいる関係上)大きいサイズでは掲載しませんがノイズも少なく良い感じです。さすが1型素子。

関連

JANOG 38 Meeting に参加しました

7/6(水), 7/7(木), 7/8(金) に沖縄かりゆしアーバンリゾート・ナハでJANOG 38 Meetingに参加しました。

  • JANOG 38 Meeting
    • 日付: 2016/07/06(水) 〜 07/08(金)
    • 場所: 沖縄かりゆしアーバンリゾート・ナハ
    • 主催: 日本ネットワーク・オペレーターズ・グループ
    • ホスト: 株式会社オキット

JANOG とは

JApan Network Operators' Groupを意味し、インターネットに於ける技術的事項、および、それにまつわるオペレーションに関する事項を議論、検討、紹介することにより日本のインターネット技術者、および、利用者に貢献することを目的としたグループです。 JANOG | General Information より

フォトレポート

Network Operators とあるようにインフラエンジニア向けのイベントの印象を受けたのですが沖縄で開催されるということだったので参加してみました。
自分の興味分野のアプリケーションレイヤに近いセッションもあったので良かったです。

この大きい会場とセッションによっては別会場も利用して行われ、3日間で600人近い参加があったようです。

通路には協賛企業のブースが並んでしました。
ジャンル的にはネットワーク機器やネットワーク、オペレーション関連のブースが主で開発エンジニアの私には判らないものがたくさん……

ホール内にはウォーターサーバーがあった他、コーヒーやおやつが置いてあるおやつブースもあり中々良かったです。
これだけの参加者が居るため、個々に調達することになると自動販売機や近くのコンビニで品切れになってしまう可能性もあるので大規模のイベントではこの辺りも考慮する必要があると実感しました。

二日目の夜には懇親会もありましたが、会場キャパの都合か人口密度が高すぎて身動きが取れなかったのが残念。
混みすぎて(私にとっては)会話もままならない感じでした。

幾つかのセッションでは資料の公開の他にアーカイブ配信もあります。
※Day2, Day3の配信はまだ準備中のようです。
公開から1ヶ月程度は閲覧ができるとのことなので気になるセッションがあれば公開期間中に視聴することをおすすめします。
JANOG38 :: プログラム

Togetterまとめ

中継やSNS投稿OKのセッションではtsudaってくれる人たちがTwitterで発信していますのでこの辺も参考にどうぞ。

次回 JANOG 39 Meeting

38 Meetingの最後に次回JANOG 39 Meetingの告知が行われました。
次回は石川県とのこと。

  • JANOG 39 Meeting
    • 日付: 2017/01/18(水) 〜 01/20(金)
    • 場所: 石川県金沢市(6年ぶり2回目)
    • ホスト: DMM.comラボ

感想

ミクシィさんやDMM.comラボさんの高トラフィック環境でのネットワークアーキテクチャの設計などがとても興味深かったです。
どうやってリクエストを効率良く捌くのかなど参考にできそうな(参考にしたい)部分を聞くことが出来ました。

余談ですが、那覇でのイベントは車移動が辛い。朝と夕方の通勤ラッシュの渋滞は異常に思えてしまいます。
バスで(沖縄は電車がないので)快適に移動できればバスを使って移動するんですけどね……

関連