Mint のバージョンが上がると有効でなくなる記事があまりに増え、画像を Flickr から Google フォトに移行しないといけないこともあり、修正再up記事多め。今後新規に記事を書くことは少なくなるでしょう。
roadtoalinuxmintuser

theming

roundup
Linux Mint 19.x: 「K3b」で Blu-ray ディスクに焼く方法 00:37

以前、Blu-ray ディスクのリッピングツールは紹介しました:
しかし、ライティングツールは紹介していませんでした。そこで今回は Blu-ray ディスクに焼く方法を見てきます。

K3b とは


K3b は KDE 向けに作られた無料のライティングツールですが、適切なパッケージをインストールすれば、どの Linux ディストロでも使えます。非常に使いやすく強力で、CD・DVD への書き込み、書き換え、消去、コピーなどの操作が可能です。

主な特徴:
  • 書き込み、再書き込み、消去、コピー
  • CD、音楽 CD、データ用 CD、DVD、ブルーレイディスクに対応
  • ディスクのリッピング
  • ISO イメージのサポート
  • マルチセッション
  • 映像用 CD とオーサリング
K3b を使って Blu-ray に焼くには「cdrecord」というパッケージが必要です。CD・DVD・BD を焼くのに役に立つプログラムの集合体です。

インストール


Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
次のコマンドを実行します:

APT

sudo add-apt-repository ppa:brandonsnider/cdrtools -y && sudo apt update && sudo apt install -y k3b cdda2wav cdrecord mkisofs smake

使い方


[ 設定 ] -> [ K3b を設定 ] -> [ Advanced ] -> [ Show advanced GUI elements] にチェックを入れます:


同じウィンドウの [ Programs ] タブをクリックし [ cdrecord ] にチェックが入っていることを確認します:


実際に焼く際には、Blu-ray ディスクを挿入し [ New Data Project ]:


焼きたい内容を D&D で下側のペインに登録します:


Project ウィンドウで [ Writing app ] に [ cdrecord ] を選び:


[ Misc ] タブで、[ No multisession ] を選んでから [ Burn ] をクリックして下さい:


参考元: debugpoint, help.ubuntu.com
| Linux |
雑記: Jugem ブログはおすすめしない理由 00:35

かつて、漫画「日常」の製作者あらゐけいいち氏が jugem でブログをやっていたことが、自分がブログに jugem を選ぶ大きなきっかけとなりました。今では jugem でブログを始めたことを少し後悔する場面があるので、それをまとめてみます。
  • Jugem は常時 SSL に対応するつもりがない。
  • Jugem は画像以外のファイルをアップロードすることができない。
  • 有料版の Jugem を利用するよりロリポブログを利用したほうが安い。
  • 文字数制限が短い。
  • テンプレートを弄るのが面倒。

Jugem は常時 SSL に対応するつもりがない


Jugem は公式に以下のような見解を述べています:
JUGEMブログにつきましては、閲覧者の方より情報をご入力いただく要素としては「コメント欄」のみとなっております。

そして「コメント欄」につきましては「名前・サイトURL・メールアドレスおよびコメント内容」という情報のみであり、かつそれらの項目の入力については、閲覧者(コメンテーター)側の任意による意思決定の下で入力されるものになります。
サポート

そして以下のように続きます:
ブログという特性上、緊急の対応が必要であるとの判断には至っておりませんが、今後の対応予定につきましては検討中でございます。

つまり、ブログの特性上大事な情報は入力されないのだから保護する必要性は低い。よって、常時 SSL 化は緊急に対応する必要性はない、ということです。Blogger やはてなブログ、Fc2 ブログなど、他のブログサービスがすでに常時 SSL に対応している中、Jugem は常時 SSL 移行を決めてすらいません。

なぜ、常時 SSL 対応が問題かというと Google が公式ブログで「HTTPS をランキングシグナルに使用します」と明言しているからです。ブログの特性上セキュリティに問題なくても、検索順位に影響出るため、いずれにせよ必要な対応なのです。

Jugem が常時 SSL 対応を渋っている理由の一つしては、常時 SSL に対応させるのもタダではないからだと思います。

Jugem は画像以外のファイルをアップロードすることができない


当ブログでは画像のアップロード先として長年、Flickr を使ってきましたが、Flickr の裏切りにより、Google フォトへの移行を進めています。画像のアップロードに関しては外部サービスを使えばよいため容量制限だとか画像のアップロードの可否はたいした問題ではありません。

ところが、テキストファイルや xml ファイルがアップロードできないとなると少し問題が生じてきます。単にテキストファイルをアップロードしたいだけなら GitHub にアップロードします。しかし、Ajax でテキストファイルや xml ファイルを使いたいとなると同ドメインに置かなければなりません。Jugem では同ドメインにテキストファイルや xml ファイルが置けないので Ajax ができません。

有料版の Jugem を利用するよりロリポブログを利用したほうが安い


有料版の Jugem は月に 324 円かかります。一方で、同じ系列のロリポップのレンタルサーバーのエコノミーであれば月に 108 円(+初期費用 1500円)でロリポブログが一個利用できます。どちらも広告は非表示にできます。

しかも、今なら Yahoo!ジオシティーズからの移行キャンペーンで、初期費用が無料になっています:


ロリポブログはほぼ有料版の Jugem と考えていいでしょう。ということは有料版の Jugem を選ぶならロリポップのエコノミーについてくるロリポブログを利用すればいいのです。

文字数制限が短い


文字数制限なんてそうそう引っかかるものではないでしょ、と思うかもしれません。しかし、自分は引っかかったことがあります。それは記事の文字数制限というよりもテンプレートの文字数制限に引っかかったのです。フッターにいろいろコンテンツをのっけて公開したら、ソースの下側が切れていました。何が起こったのか把握するのにそう時間を要しませんでした。オーバーした分が警告もなく下から削除されてしまったのです。

さすがに慌てました。Ajax が使えないこともあり、いろいろ読み込ませた後で、スタイルシートで非表示にしクリックされた表示するようなことを行わなければならなかったのもあり、色々テンプレートに詰め込んでいたようです。

そこで、右カラムの初音ミクの画像をクリックすると定番アプリのリストをポップアップ表示することから、専用の記事を用意し、その記事に移動させるという手法をとることにしました。この記事を書いている時点では移動させていませんが、いずれ移動させるつもりです。

はてなブログ、Fc2 ブログ、Blogger の方が記事一つ当たりの文字数制限はより緩いです。

テンプレートを弄るのが面倒


これは一からテンプレートを作成しようとしたときの情報があまりにも少ないからです。当ブログのもともとのテンプレートは Analogue です。これを Bootstrap を使ってレスポンシブに対応させたのが今のデザインになります。

例えば多少 HTML にたしなんでいれば以下のタグはコメントアウトされるのは知っていると思います:
<!-- BEGIN entry -->
<!-- END entry -->

ところがこれ、Jugem では重要な働きをしています。これを削除してはいけません。テンプレートにはこういう一見コメントアウトされているので削除してもいいかなと思っていても重要な役働きをしているタグがあります。それは BEGIN ○○だとか END ○○ と表現されているものが多いです。この部分を検知してそこに記事を出力する、といったことがなされています。

このあたりの情報がなくて本当に苦労しました。

Fc2 ブログとの比較


天下の Fc2 ブログのほうがあらゆる面で上なのではないかと思ったので比較検討してみます:
JUGEMFC2
ファイル保存容量1GB10GB
アップロードできるファイル形式jpg、gif、pngjpg、gif、png、mid、mp3、swf、ico、html、txt、css、js、rdf、xml、xsl
記事文字数制限本文、続き共に 64KB(全角で約30,000文字程度)無制限
HTML 編集PC サイトのみPC、スマホともに可
CSS 編集PC サイトのみPC、スマホともに可
アフィリエイト
有料プラン324円/月300円/月
常時 SSL未対応対応済



締め


自分はこのブログに関しては広告は度外視しているので、少し技術的な視点から述べました。

有料プランが他のブログサービスより比較的安いというメリットから Jugem に目をつける方がおられるかもしれませんが、今ブログを開設するなら Jugem という選択肢は無い、そう結論づけて終いにします。

marie01

221B Baker Street はそんな JUGEM ブログサービスを応援しています。


| 雑記 |
Linux Mint Tips : apt と apt-get の違い 01:31


apt コマンドの導入は Ubuntu 16.04 の注目すべき新機能の一つでした。実際のところ、apt の最初の安定版は 2014 年にリリースされましたが、日の目を見るようになったのはこの Ubuntu 16.04 で導入されたからです。Ubuntu 以外のディストロも Ubuntu と足並みをそろえ、apt-get よりも apt を使うよう推奨しています。

そこで、apt-get と apt の違いは何だろうと疑問に抱くのは当然です。コマンドの系統が似ているのなら新たに apt を作った必要性とは何だったのでしょうか。apt-get よりも apt を使ったほうが良いのでしょうか。

apt vs apt-get


Ubuntu、Linux Mint、elementary OS などの大本となっている Debian には堅固なパッケージ管理システムが備わっており、コンポーネントやアプリはそれぞれ一つにパッケージングされ、システムにインストールできるようにされています。Debian は Advanced Packaging Tool(APT) と呼ばれるツール群を使ってこのパッケージ管理システムをコントロールしています。同じ名前だからといって apt コマンドとは混同しないようにしてください。

APT と相互に動作するツールは様々で、Debian ベースの Linux ディストロにおいてパッケージのインストール・削除・管理を可能にしています。apt-get はそのようなコマンドラインツールの一つで広く使われています。他には aptitude があり、GUI でも CUI でも使えます。apt-cache コマンドも見たことがあるでしょう。apt、apt-get、aptitude などは APT のフロントエンドということです。こういったコマンドには普通の Linux ユーザーが使うことのない機能も多く存在しています。一方で、よく使うコマンドは apt-get と apt-cache の一部に集約しています。

apt コマンドは apt-get と apt-cache のうち複雑だったりほとんど使われない機能については無視し、よく使う機能から成り立っています。apt.conf ファイルも管理できます。

つまり、apt は apt-get と apt-cache からよく使うコマンドのオプションを集約したものだと言えます。apt を使えば apt-get と apt-cache を使い分ける必要はありません。

apt にはエンドユーザーにとって役に立つオプションがいくつかデフォルトで有効になっています。例えば、apt を使ってパッケージをインストールしたり削除した入りする際にプログレスバーが表示されるようになっています:


また。リポジトリのキャッシュを更新したときに、アップグレードできるパッケージの数が表示されます:


こういったことは apt-get でもできますが、apt ではデフォルトで有効になっているのがみそです。

apt には apt-get と似たようなコマンドオプションがいくつかあります。実際ほとんどのケースで apt-get コマンドの apt-get の部分を apt に置き換えるだけでうまくいきます:
apt コマンド置き換えているコマンド機能
apt installapt-get installパッケージのインストール
apt removeapt-get removeパッケージの削除
apt purgeapt-get purge設定ファイルを含めてのパッケージの削除
apt updateapt-get updateレポジトリのキャッシュを更新
apt upgradeapt-get upgradeパッケージの更新
apt autoremoveapt-get autoremove不要なパッケージの削除
apt full-upgrade
or
apt dist-upgrade
apt-get dist-upgrade依存関係を自動的に処理してパッケージを更新
apt searchapt-cache searchプログラムの検索
apt showapt-cache showパッケージの詳細の表示

apt 固有のオプションも存在しています:
apt コマンド機能
apt list(インストール済、アップグレード可能などの)基準に従ってパッケージをリストする
apt edit-sourcessources.list の編集

ここで特筆すべきは apt コマンドは現在も継続的に開発されているということです。今後、新しいオプションを見ることになるかも知れません。

apt-get は廃止されるのか


少なくとも apt-get が廃止された/廃止される予定であるという情報は現時点ではどこにも見当たりませんし、そうでないはずです。apt ではカバーしていない機能を使うためにどこかのスクリプトで apt-get が使われる恐れがありますから。

締め


結局のところ、apt か apt-get かと問われれば apt を使うことをおすすめします。apt は apt-get を使うよりも推奨されているというのもありますし、使えるオプションが少ないながらも、普段の使用に必要な機能は十分備わっており、覚えやすいからです。apt-get の機能を掘り下げて使うようなことがない限り apt で行きましょう。

参考元: It's FOSS
| Linux |
Linux Mint 19.x: 5ch専ブラ「Jane Style」は Wine で普通に使える 00:30

Jane Style とは


5ch 専用ブラウザーです。他にもしたらばやまち BBS にも対応しています。開発には Delphi というマニアックな言語が使われています。

主な特徴:
  • まちBBSやしたらば等の2ch互換掲示板にも対応
  • 同一発言者のレスをポップアップ
  • レスの付いた発言を容易に把握、レス番着色機能
  • 画像の内容が一目瞭然、インラインサムネイル機能
  • お気に入りスレッドや板に新着があるか高速でチェック
  • 実況に便利なオートリロード・オートスクロール機能
  • 次スレッドを簡単に見つけられる次スレ候補検索
  • 広告を非表示にできる「5ちゃんねるプレミアム Ronin」に対応

インストール


Windows 向けアプリケーションなので例によって Wine が必須です。ちなみに今回使用した Wine のバージョンは wine-3.0(stable) です:


公式サイトのダウンロードページからインストーラーをゲットし、ダウンロードした「.exe」ファイルを右クリックして、表示されるコンテキストメニューから [ Wine Windowsプログラムローダーで開く ] をクリックしてインストールを始めます:


使い方


お気に入り


気に入ったスレッドをお気に入りに登録できます。スレッドを右クリック -> [ お気に入りに追加 ] -> [ 「お気に入り」に追加 ]:


メニューバーにある「お気に入り」からアクセスできます:


特定のレスを非表示


不快なユーザーを非表示にできます。ユーザーの ID を選んで右クリックから [ このIDをあぼーん ]:


すると、同一 ID による書き込みが全て「あぼーん」に置き換わります:


画像のインライン表示


画像のリンクが貼られていると青と白の四角アイコンが表示されます。クリックすることで画像をそのレスの下に表示することができます:


オリジナルサイズで見る前に事前に小さい画像で確認できるのは良い機能です(同時にオリジナルサイズも別ウィンドウに開かれます):


モザイク加工


グロ画像を回避するためにモザイク処理ができます。レスの下に表示した小さい画像を右クリックして [ 対象のモザイク切替 ]:


モザイク指定が終わったらその画像をクリックすることでモザイクがかかった状態でオリジナルサイズを見ることができます:


オートリロード・オートスクロール


実況板を見るときは、そのスレッドのタブを右クリックして [ 実況支援 ] -> [ オートリロード・オートスクロール ] をクリックすると便利です:


スキンをあてる


スキンというほどのものでもないですが、スレッドの背景に黒っぽい画像を当てて、プラス、マリーローズという2つの意味で目に優しいスキンを作成しました:
ダウンロード


なので当て方も説明します。[ ツール ] -> [ 設定 ] -> [ 基本 ] -> [ パス ] -> スキンのフォルダを指定 -> Jane Style を再起動すればスキンが自動で適用されます:


ただし、デフォルトでは一回の発言のみの ID が黒く指定されていて、背景が黒だとこの ID の文字が見えなくなります。そこで [ ツール ] -> [ 設定 ] -> [ 機能 ] -> [ スレッド ] -> [ 発言が一回のID ] を見やすい色に変更して下さい。訪問済みのリンクなどもデフォルトの色では不満であれば変更して下さい:


Jane Style のすべての機能は公式のオンラインヘルプで調べることができます。
| Linux |
Shell :シェルスクリプトを組もう! Zenity 編 01:44

イントロ


例えば、あなたがゲーム開発者であったとしましょう。開発の過程で、テクスチャアトラスから座標を取得しゲームコードに記述する作業があります。ん?何を言っているか分かりませんか。テクスチャアトラスとは下の画像のように、一つのキャラクター(別に複数でも可)に対して全ての部品をまとめ画像のことを指します。一つのポーズにつき一枚の画像を用意するのは効率が悪いため、ゲーム開発やウェブサイトの画像の読み込みなどでよく使われる手法です:


このテクスチャアトラスから切り取りたい部分を座標で指定する必要が出てくるのですが、座標を指定するのに 4 つの数字を覚える必要が有り、疲れているときは覚えることが出来ず、一つ一つ数字を確認しながら、
Alt
+
Tab
で画像編集ソフトとテキストエディターを行き来します:


もし、テキストボックスがあるポップアップウィンドウをショートカットキーで表示させ、その中に入力した文字列が直接クリップボードに保存され、2つのアプリをいちいち切り替える必要なく座標をテキストエディターに入力できたら素敵だと思いませんか。

何が言いたいのかアニメーション GIF で示したいと思います:


Unix の哲学


何か効率化したいと思ったら、Unix の哲学を思い出しましょう:

  • 各プログラムが一つのことをうまくやるようにせよ。
  • プログラムは組み合わせて作れ。
  • 単純なテキストファイルにデータを格納せよ。

つまり、あなたが望んでいることをしてくれるプログラムは、すでに存在する小さなプログラム(コマンド)を組み合わせることで実現できる可能性がとても高いということです。

クリップボードに文字をコピーするコマンド


端末を起動し xsel というクリップボードにコピーしたり、クリップボードの中身を取得したりできるパッケージをインストールしてみて下さい:
sudo apt install -y xsel
次のコマンドを実行してみてください:
echo "ここがコピーされます。" | xsel --clipboard
そしたら、テキストエディターなどにクリップボードの中身を貼り付けてみましょう。
ここがコピーされます。
と入力できたはずです。echo の出力をパイプで xsel に渡してクリップボードにコピーしたのです。上述した Unix の哲学に帰れば、なぜ Bash があのように醜く、それでいてこのように素晴らしいものなのか分かるのではないでしょうか。誰かがすでにクリップボードにコピーするという機能を持った小さなプログラムを作成してくれているので、自分で 1 から作る必要がありません。

簡易 GUI アプリの作成


自分が初めて Zenity に出会った時、なんて賢く、なんてシンプルなんだろうと驚きを隠せませんでした。たった一行の文字列ベースの Bash スクリプトが便利な GUI アプリに変貌するのです。


ここで必要とするパーツはエントリーボックスです。エントリーボックスは文字列を入力するためのパーツです。端末で以下を実行してみてください:
zenity --entry
入力した文字列が戻り値として返されます。zenity の戻り値を xsel に渡せば、必要としているものが完成しそうです。

小さなプログラムにまとめる


端末で以下を実行しましょう:
zenity --entry | xsel --clipboard
見事です。最後に、スクリプトにまとめて、実行権限を付加し実行してみましょう。以下のコマンドはそれらのすべてを行います:
echo -e '#!/bin/bash' > handy-clipboard.sh && echo 'zenity --entry | xsel --clipboard' >> handy-clipboard.sh && chmod +x ./handy-clipboard.sh && ./handy-clipboard.sh
完成です。Unix の哲学の恩恵を得て、Unix の哲学に貢献するような小さなプログラムを作り上げたのです。

値を取得する


zenity --entryで表示されるダイアログに入力される文字列をクリップボードではなく、プログラムの中で使いたい場合はどうすればよいでしょうか。以下を実行してみて下さい:
x=$(zenity --entry)
echo $x

入力した文字列が端末に表示されましたか?

つまり、
変数名=$(zenity のコマンド)
という書式になっています。使うときは
$変数名
というふうに $ マークを変数名の前につけるだけで OK です。

しかし、もっと簡潔な方法があります。次のコマンドは上のものとほぼ同じ結果をもたらします:
zenity --entry; echo $?

これらのダイアログボックスを抑えておけば大丈夫


入力


今まで、エントリーボックスを使ってきましたが、--title でボックスのタイトルを、--text で文字を添えることができます:
zenity --entry --title "質問" --text "アニメキャラクターは誰が好きですか?"
初期値を表示するには --entry-text を使います:
zenity --entry --title "質問" --text "アニメキャラクターは誰が好きですか?" --entry-text "初音ミク"


質問


質問内容が Yes か No で答えられるようなものであればこちらが用意されています:
zenity --question --text "初音ミクは好きですか" --ok-label "大好きです" --cancel-label "好きです"


zenity --question ダイアログでは

  • OK なら 0
  • Cancel なら 1
  • タイムアウトなら 5
を返します。なので、それぞれの処理を case 文で分けたり:
case $? in
0) echo "Yes"
;;
1) echo "No"
;;
*) echo "Timeout"
;;
esac

if 文で 1 であれば即プログラムを終了させたりできるわけです:
if [ $? == 1 ]; then exit; fi

メッセージ・通知


その際、エラーとして終了するのであれば以下のようなメッセージボックスが作れます:
zenity --error --title "エラー" --text "プログラムを実行中エラーが発生しました。プログラムを終了します。"


単に終了するよと言いたければ --info が良いかもしれません:
zenity --info --title "終了" --text "キャンセルが押されたので終了します。"


警告として表示する場合は --warning を使います:
zenity --warning --title "終了します" --text "終了すると入力された値は破棄されます。"


メッセージをウィンドウではなく、通知としてそれとなく表示させたい場合はこうします:
zenity --notification --text "処理が終わりました。"


色を付けるときは html タグで


表示する文字に色を付けることができます。その時は html タグと同様の使い方をします(¥ は全て半角のバックスラッシュに変えて下さい。どうも表示できません):
zenity --info --text "
<span color=¥"red¥">red</span>
<span color=¥"green¥">green</span>
<span color=¥"blue¥">blue</span>
<span color=¥"yellow¥">yellow</span>
<span color=¥"magenta¥">magenta</span>
<span color=¥"white¥">white</span>
<span color=¥"black¥">black</span>
<span color=¥"gray¥">gray</span>
<span color=¥"lightblue¥">lightblue</span>
<span color=¥"lightgray¥">lightgray</span>"



目盛り


入力される値は文字列だけとは限りません。数値のときもあるでしょう。便利なダイアログが用意されています:
val=$(zenity --scale --text "1 から 30 までの値を選んで下さい。" --min-value 1 --max-value 30 --value 20 --step 1)
echo "入力された値は "$val" です。"



カレンダー


数値は数値でも日付であれば --calendar を使います:
date=$(zenity --calendar --text "日付を選んで下さい。")
echo "$date"



リスト


はじめから用意された項目から選んでほしいときは --list を使います:
extension=$(zenity --list --title "拡張子を選んで下さい" --text="拡張子を選んで下さい。" --column "拡張子" MOD mp4 avi mpg mkv mov MOV)
echo $extension



カラムは増やせます:
extension=$(zenity --list --title "拡張子を選んで下さい" --text="拡張子を選んで下さい。" --column "拡張子" --column "音楽・映像" mp4 映像 avi 映像 mpg 映像 acc 音楽 mp3 音楽)
echo $extension



リストでチェックボックスを使用できます(True or False はデフォルトでチェックを入れるか入れないかを示しています):
zenity --list --checklist --column "チェック" --column "ペット" True 犬 False 猫 True ハムスター


ラジオボタンも同様に可能です(True or False はデフォルトでチェックを入れるか入れないかを示しています):
zenity --list --radiolist --column=Selected --column "ペット" False 犬 False 猫 True ハムスター


ファイルチューザー


ファイルを選んでほしいときは --file-selection を使います。これだけだとファイルを指定できます:
file=$(zenity --file-selection --text "ファイルを選んで下さい。")
echo "$file が選ばれました。"



--directory を追加すれば選べるのはディレクトリだけになります:
folder=$(zenity --file-selection --directory --title "ディレクトリを選んで下さい")
echo $folder

--multiple を追加すれば複数指定できるようにできます:
files=$(zenity --file-selection --multiple --text "ファイルを複数選んで下さい。")
echo "$files が選ばれました。"

保存先用のダイアログも表示できます:
zenity --file-selection --save


フォーム


フォームもこのように作成できます:
zenity --forms --add-entry "ユーザー名" --add-password "パスワード" --separator ","


user=$(zenity --forms --add-entry "ユーザー名" --add-password "パスワード" --separator ",")
echo $user
としたときに、例えばユーザー名に「初音ミク」、パスワードに「pass」と入力し [ OK ] を押せば、以下の結果が返ってくるはずです:
初音ミク,pass

つまり --separator で指定した文字(ここでは ,)で仕切られた文字列が返ってきます。入力された値を使うにはどうにかして「,」で切り分ける必要があります:
username=$(awk -F, '{print $1}' <<<$user)
password=$(awk -F, '{print $2}' <<<$user)

これで、それぞれの値が $username と $password に格納されます。

プログレスバー


プログレスバーも実装できますが、少し難しいです。まず基本的には以下のとおりです。--percentage は 0 から 100 までの値を取ることができます:
zenity --progress --percentage=10


具体的にどれくらいと表示するのが難しいかも知れません。そのときは左右行ったり来たりするバージョンを使うといいでしょう:
zenity --progress --pulsate
100% になったときプログレスバーが自動的に消えてほしい場合は --auto-close を追加します:
zenity --progress --auto-close
1 から 10 まで数えてその分増えていくプログレスバーはこのようになります:
percent=0;
for num in 0 1 2 3 4 5 6 7 8 9 10; do
echo $percent
echo "# $num"
percent=$(($percent + 10));
sleep 1
done | zenity --progress --text "Counting..." --percentage=0

複数行に渡る文字列を表示する


--text-info はテキストファイルから表示したい内容を読み込むときに使います。以下の例では GPLv3 のライセンスを表示します:
zenity --text-info --filename "/usr/share/common-licenses/GPL-3"


テキストエリアのように編集できるエリアにしたい場合は --editable をつけます:
zenity --text-info --editable

カラーパレット


使う機会はそこまでないかも知れませんが、カラーパレットも表示できます:
color=$(zenity --color-selection --show-palette)


汎用性のあるパラメーター


次のパラメーターは上述した大抵のウィジェットで使えます:

  • --title "タイトル"
  • --height 400
  • --width 300
  • --icon-path "/usr/share/icons/Mint-X/categories/32/gnome-multimedia.png"

例えば、先程出したこのエラーメッセージは少々不格好です:


そこで幅を指定することでスッキリさせることができます:
zenity --error --width 350 --title "エラー" --text "プログラムを実行中エラーが発生しました。プログラムを終了します。"


音楽ファイル変換スクリプトを組んでみる


ここからは ffmpeg と zenity の力を借りて音楽を変換する簡易的なスクリプトを作成していきます。FFmpeg がインストールされていなければして下さい:
sudo apt install -y ffmpeg
#!/bin/bash
#変換するファイルを選ぶ
source=$(zenity --file-selection --title "変換するファイルを選んで下さい")
echo $source
#ユーザーがキャンセルするか閉じたらスクリプトを終了する
if [ $? == 1 ]; then exit; fi

#変換先のファイル形式を尋ねる
ext=$(zenity --list --title "変換先のファイル形式を選んで下さい" --text "変換先のファイル形式を選んで下さい" --column "拡張子" mp3 ogg flac wav)
echo $ext
#ユーザーがキャンセルするか閉じたらスクリプトを終了する
if [ $? == 1 ]; then exit; fi

#出力先を尋ねる
dest=$(zenity --file-selection --directory --title "出力先を選んで下さい")
echo $dest
#ユーザーがキャンセルするか閉じたらスクリプトを終了する
if [ $? == 1 ]; then exit; fi

#ファイル名を拡張子抜きで取得
filename=$(basename -- "$source")
filename="${filename%.*}"

ffmpeg -i "$source" -ab 320k -map_metadata 0 -id3v2_version 3 "$dest"/"$filename"."$ext"

zenity --notification --text "処理が終わりました。"

簡単に作ったので複数のファイルを指定したりはできないですが、立派に GUI アプリを作れた感じがします:


利便性を良く


このままでは端末からスクリプトを実行しないといけなくなるので、ショートカットキーに割り当てましょう。ミントメニューから [ キーボード ] -> [ ショートカット ] -> [ カスタムショートカット ] -> [ カスタムショートカットを追加 ]:


ショートカットキーの割当は [ 未割り当て ] をクリックして希望のショートカットキーの組み合わせを押します。例えば
Ctrl
+
Alt
+
F
にしました:


これで
Ctrl
+
Alt
+
F
を押すことでいつでもスクリプトを走らせることができます。

Linux 文化は手作り文化


zenity によって簡単なやりとりなら GUI でできることを示しました。シェルスクリプトと ffmpeg や youtube-dl などのコマンドとこの zenity を組み合わせれば、簡単な GUI アプリが作れてしまうわけです。zenity の存在は(クロスプラットホームに対応しているとは言え)間違いなく Linux を使う理由の一つとなるはずです。

参考元 : medium.com, YouTube
Linux Mint 19.x: 画像縮小 Adobe AIR アプリ「縮小専用」を使う 00:01

「ImageMagick」で縮小くらいできるよ、という声が聞こえてきそうですが、Adobe AIR Win Ver のインストール方法を説明した記事を書いているので、ついでに Adobe AIR が使える有名なツールとして取り上げることにします。

縮小専用とは


ただただ画像を縮小するだけのツールです。画像の形式は JPEG・PNG・GIF に対応しています。

主な特徴:
  • D&D で簡単縮小
  • JPEG量子化率かファイルサイズの指定によりファイルサイズを調整可能
  • 画像のモノクロ化、トイカメラ風、ポロライド風、あざやかにすることが可能

インストール


Winetricks を使って Adobe AIR をインストールしておきます:


【縮小専用AIR】 画像を縮小するAdobeAIRアプリから AIR ファイルをダウンロードします。ダウンロードが終了したら AIR ファイルを右クリックし、メニューから [ Adobe AIR Application Installer で開く ] をクリックします:


インストールします:


使い方


縮小したいサイズを選ぶか指定して画像をウィンドウに D&D するだけです:


画像は Google フォトに無制限でアップロードしているために、画質が落ちてしまいます。実際にはもっと綺麗に画像を変換してくれます。

オリジナル:


横幅 400px に縮小するだけ:


  1. ポロライド風
  2. トイカメラ風
  3. 鮮やかにする
  4. モノクロ:
| Linux |
| 1/106 | >>

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle with anime girls since 2009.Best View with Google Chrome 1980x1080 dimension.
Info 再開しました。更新日は月一です。

roadtoapython

roadtorubyist

git

Amazon: