R6/2/3 日経Linuxが休刊を迎えたことを知りました。もうLinux使っていませんが、お疲れさまでした。当ブログの更新はいつかまた、、きっと、、
roadtoalinuxmintuser

theming

roundup
スポンサーサイト

一定期間更新がないため広告を表示しています

| - |
Linux Mint 20.x: 最新の youtube-dl をインストールする 00:12
最終更新日: 2020/08/10

ERROR: Signature extraction failed: Traceback (most recent call last)
だったり
youtube-dl ERROR: Unable to extract title
というエラーは最新の YouTube などの動画共有サイトの変更に追いつけていない可能性があります。

最新の YouTube-DL をインストール


Linux Mint 20.x で執筆時現在インストールできるバージョンは 2020.03.24-1 です。これよりも最新のものが利用できるので apt 経由ではなくファイルを直接公式から取得し、然るべき場所に格納します。
Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
まず、youtube-dl をインストールしている方は削除します:
sudo apt remove youtube-dl
最新の youtube-dl をインストールします:
sudo apt install -y aria2 python3-pkg-resources python3 && sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl && sudo chmod a+x /usr/local/bin/youtube-dl
hash -r

インストールされたバージョンを確認してみます:
youtube-dl --version


次回以降、以下のようにしてアップデートできます:
sudo youtube-dl -U


使い方


いくつかコマンドの使用例を見ていきます。youtube-dl は動画をダウンロードするだけでなく様々なことが出来ます。以下のコマンドは利用できる解像度やフォーマットをリストします。-F は大文字でなくてはなりません:
youtube-dl -F https://www.youtube.com/watch?v=PqJNc9KVIZE

ダウンロードしたい解像度の [ format code ] の番号を指定してダウンロードできます。今度は -f は小文字です:
youtube-dl -f 18 https://www.youtube.com/watch?v=PqJNc9KVIZE
最高画質の映像と最高音質の音声を結合せずに別々にダウンロードするには:
youtube-dl -f 'bestvideo,bestaudio' -o '%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/watch?v=PqJNc9KVIZE
稀に動画ではなくサムネイル画像が欲しい時があります。その時は以下のコマンドでサムネイル画像をリストし:
youtube-dl --list-thumbnails https://www.youtube.com/watch?v=RjHud99NOPA
出力例:
[youtube] RjHud99NOPA: Downloading webpage
[youtube] RjHud99NOPA: Downloading video info webpage
[info] Thumbnails for RjHud99NOPA:
ID width height URL
0 unknown unknown https://i.ytimg.com/vi/RjHud99NOPA/maxresdefault.jpg

リストされた中から選ぶといいでしょう。あるいは以下のコマンドは動画とサムネイル画像両方をワンヒットでダウンロードできます:
youtube-dl --write-thumbnail https://www.youtube.com/watch?v=RjHud99NOPA
英語の字幕だけをダウンロードするには:
youtube-dl --sub-lang en --write-auto-sub --skip-download https://www.youtube.com/watch?v=H6KieTkUNgc

応用


YouTube の動画でも、一部だけをダウンロードしたい時があります。長い時や必要な部分が一部のみでいい場合などです。youtube-dl 単体では実現できないので ffmpeg と組み合わせて実現します。対戦動画でマリーローズの試合のみをダウンロードしたかったので以下のようにしました。-g をつけることで映像と音声の URL を取得できます:
youtube-dl -g https://www.youtube.com/watch?v=DX_h0BP2YTY
出力例:


最初の URL を下記のコマンドの最初の URL に置き換えます。-ss は指定した時間までの部分は切り捨て、-to で指定した時間までダウンロード対象とすることを表しています。下記のコマンドは 2 分 41 秒から 9 分 40 分までをダウンロードします:
ffmpeg -i "最初の URL" -ss 00:02:41.00 -to 00:09:40.00 -c copy out.mp4つまりこんな感じです:


開始するのが少し遅かったのとダウンロードも遅かったのでしばらく待って下さい。ワーキングディレクトリに out.mp4 という動画が出来ているはずです。しかしこれだけでは音声が含まれていません。そこで音声も必要であればこんどは二番目の URL についても同じことをします:
ffmpeg -i "二番目の URL" -ss 00:02:41.00 -to 00:09:40.00 -c copy out.webm
最後に映像と音声を結合します:
ffmpeg -i out.webm -i out.mp4 video_and_audio.mp4

ERROR: PhantomJS executable not found in PATH


PhantomJS はスクリプト化されたヘッドレスブラウザーで、ウェブページとのやり取りを自動化するために使用されます。無料かつオープンソースで、BSD ラインセンスで配布されています。PhantomJS は Webkit をベースとしており、Safari や Google Chrome とよく似たブラウジング環境を提供します。PhantomJS の Javascript API を使えば、ウェブページを開いたりユーザーの操作を実行したり、スクリーンショットを撮ったりできます。

youtube-dl 内部においても利用されているようだったので、インストール方法をシェアしたいと思います。

  1. まずは必要な依存関係を満たしておきます:
    sudo apt install build-essential chrpath libssl-dev libxft-dev libfreetype6-dev libfreetype6 libfontconfig1-dev libfontconfig1 -y
  2. 公式サイトにアクセスし PhantomJS をダウンロードします。64bit 向けと 32bit 向けがあるので自分のアーキテクチャーに合わせてダウンロードしてください。

  3. ダウンロードしたターボールを右クリックメニューから解凍してください。

  4. この中にはバイナリファイルが含まれています。これを PATH のどこかに移動すれば OK です。具体的にはダウンロードしたものを /usr/local/src に一旦移します:
    sudo mv ~/ダウンロード/phantomjs-2.1.1-linux-x86_64 /usr/local/src
  5. 次に、端末から phantomjs とタイプするだけで使えるようにシンボリックリンクを PATH が通っているところに貼ります:
    sudo ln -s /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
  6. 最後にちゃんとインストールできたか確認するために以下のコマンドを実行してバージョンが返されるかチェックしましょう:
    phantomjs -v
    出力例:
    2.1.1

これでエラーが回避できるはずです。

参考元: linoxide.com, Vultr.com
| Linux |
Linux Mint 19.x : WordPress をローカルにインストールする方法 00:11

WordPress とは


WordPress は無料かつオープンソースで、プラグインが豊富な、カスタマイズ性の高い強力な CMS で、ブログを運営するために世界中の多くの人に利用されています。

ウェブデザインやウェブ開発の知識が乏しい方でもインストールしやすく学びやすく、多くのコミュニティによってたくさんのプラグインやテーマが作られているので、欲するままに自分のサイトをカスタマイズ出来ます。

インストール


Step1: LAMP サーバーの構築


これについては以前紹介しています:

Step2: WordPress 用にデータベースを作成


WordPress を動かすのに必要なパッケージはすべてインストールしたことを前提に MariaDB サーバーの設定をしていきます。まずは WordPress 用に空のデータベースを一つ作成します。

MariaDB データベースサーバーにログインするには次のコマンドを実行します:
sudo mysql -u root -p
wpdb というデータベースを作成します:
CREATE DATABASE wpdb;
wpuser というデータベースユーザーのパスワードを設定します:
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
このユーザーにデータベースに自由にアクセスできるように権限を与えます:
GRANT ALL ON wpdb.* TO 'wpuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
最後に変更保存し終了します:
FLUSH PRIVILEGES;
EXIT;

Step3: 最新の WordPress をゲット


次のコマンドを実行すれば、ダウンロード、解凍からインストールまで行います:
cd /tmp && wget https://wordpress.org/latest.tar.gz && tar -zxvf latest.tar.gz && sudo mv wordpress /var/www/html/wordpress
続いて WordPress ディレクトリに適切な権限を設定します:
sudo chown -R www-data:www-data /var/www/html/wordpress/ && sudo chmod -R 755 /var/www/html/wordpress/

Step4: wp-config.php ファイルを作成する


http://localhost/wordpress にアクセスし、[ Let's go ] をクリックします:


上で作成しておいたデータベースの情報を入力していきます。終わったら [ Submit ]:


すると wp-config.php を出力してくれますが、恐らく書き込み権限がなく手動で作成するように言われます。なので root 権限でファイラー(Nemo や Caja や Thunar など)を起動し /var/www/html/wordpress に wp-config.php というなまえで空のファイルを作成その中に、中身を貼り付けます:


Step5: WordPress サイトの設定


[ Run the installation ] をクリックすれば、サイトの設定画面に変わります。入力したら [ Install Wordpress ]:


ログイン画面が表示されるので、先ほどの管理者名とパスワードを入力します:


管理画面が表示されます。[ Customize Your Site ] をクリックし、自由に編集します:


編集がおわったら [ Publish ] をクリックします。再度 http://localhost/wordpress にアクセスすれば自分が作成した WordPress ブログが見れるはずです:


Step6: WordPress の日本語化


この方法でインストールした WordPress のインターフェイスは英語表記になっています。そこで日本語化したい場合は更に以下の手順を踏みます。日本語化は WordPress の公式サイトでも説明されているので参考にして下さい。

まずは WordPress のバージョンを確認する必要が有ります。バージョンによってダウンロードすべき日本語ロケールが違うからです。バージョンを確認するにあたり一番簡単な方法は自分の WordPress ブログのソースから発見する方法です:


必要な翻訳ファイルをゲットします。VERSION を調べたバージョン番号に変えます。例えば 4.9.8 であれば 4.9.x とします:
  • 管理画面 (ja.mo):
    https://translate.wordpress.org/projects/wp/VERSION/ja/default
  • シングルサイト管理者画面 (admin-ja.mo):
    https://translate.wordpress.org/projects/wp/VERSION/admin/ja/default
  • マルチサイトネットワーク管理者画面 (admin-network-ja.mo):
    https://translate.wordpress.org/projects/wp/VERSION/admin/network/ja/default
  • タイムゾーン用の国・町名リスト (continents-cities-ja.mo):
    https://translate.wordpress.org/projects/wp/VERSION/cc/ja/default


テキストエディタ(Xed)を開き
Ctrl
+
H
などで置換機能を呼び出しうまく置換して下さい:


執筆時では 4.9.8 は開発版しか無かったので VERSION は dev に変えます。次のようになるでしょう。それぞれのリンクから翻訳ファイルをゲットします:

ゲットするには mo ファイルを選択してから [ Export ] リンクをクリックします:


ダウンロードし終わったらそれぞれ以下のようにファイル名を変更します(上のリンク順):
  • ja.mo
  • admin-ja.mo
  • admin-network-ja.mo
  • continents-cities-ja.mo



リネームしたら然るべきディレクトリに配置します(下のコマンドは mo ファイルを ~/ダウンロードディレクトリに保存していると仮定しています):
sudo mkdir -p /var/www/html/wordpress/wp-content/languages
cd ~/ダウンロード && sudo mv *.mo /var/www/html/wordpress/wp-content/languages/


最後に wp-config.php に以下を追記すれば終わりです:
define ('WPLANG', 'ja');



管理画面にアクセスすれば日本語になっているはずです:
| Linux |
Linux Mint 19.x : Spotify のような無料デスクトップ音楽プレイヤー「nuclear」 11:13

nuclear とは


nuclear は YouTube などのネット上のフリーなソースから音源を探し再生したりダウンロードできたりするデスクトップ音楽再生プレイヤーです。言わば、無料で使える Spotify のようなツールだと考えてください。

主な特徴:
  • クロスプラットホーム対応(Linux、macOS、Windows)
  • YouTube、bandcamp、soundcloud から音楽を検索し再生する
  • YouTube で関連する曲を検索する
  • YouTube からダウンロードする
  • アルバムの検索(last.fm と musicbrainz を使用)、アルバムビュー、アーティストとトラック名に基づく自動曲検索(作業中)
  • 曲のキューをプレイリストとしてエクスポート
  • (json 形式で)保存したプレイリストを読み込む
  • last.fm に Scrobbling
  • ジャンル別に閲覧
執筆時点では開発はプレアルファの段階なのでバグは想定して下さい。

インストール

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

AppImage

Releases · nukeop/nuclear からダウンロードできます。ダウンロードしたら実行権限を与えます:
chmod +x nuclear-*-x86_64.AppImage
実行するには:
./nuclear-*-x86_64.AppImage

Deb

Releases · nukeop/nuclear からダウンロードできます。インストールするには
sudo dpkg -i nuclear_*_amd64.deb

使い方


AppImage を選んだ場合は初回起動時メニューに登録するか聞かれます。自分は [ No ] を選びましたが、使い続けるつもりがあるなら [ Yes] を選んでもいいでしょう:


検索バーを使って聴きたい曲を探すか:


[ DASHBOARD ] -> [ GENRES ] でジャンルから探すかします:


聴きたい曲を右クリックし [ +Add to queue ] をクリックします。注意点として同時に複数の曲をキューに入れることは出来ません。つまりアルバムのすべての曲を一回でキューに入れることは出来ません。[ Play now ] もバグがあるようでこのボタンでは再生できないようです:


登録が済んだら聴きたい曲をダブルクリックして選択したら下部コントロールの再生ボタンをクリックします。曲はリピート、ループ、スキップ、一時停止ができます:


もし、音源が気に食わなければスクリーンショットで示すようにキューから曲をクリックし更新ボタンをクリックします。曲を削除したいときはその曲をマウスオーバーすることでごみ箱アイコンが表示されるのでそれをクリックして下さい:


作成した曲のキューは自動的には保存されないので、次回起動時以降もそのキューを利用したいときはプレイリストとして保存するためにフロッピーディスクのアイコンをクリックして保存先を指定しましょう。

締め


音源として YouTube、bandcamp、soundcloud から拾ってくるとありますが、[ PLUGINS ] -> [ Music sources ] のデフォルトの設定が [ Youtube Plugin ] になっているので、デフォルトでは音源は YouTube からになります。YouTube の動画を映像だけ示さず音楽だけ流すというのは YouTube の規約違反だったりします。かなり黒い存在ですが、動画を表示することなく音だけ流せ、プレイリスト化し、last.fm などから曲の情報を引っ張ってこれることはたしかに需要はありそうです。

参考元: gHacks Tech News
| Linux |
Linux Mint 19.x: 「K3b」でブルーレイディスクに焼く方法 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 |
Linux Mint 19.x : システムトレイデバイスマネージャー「Disk Indicator」 00:01


Disk Indicator とは


Disk Indicator とはシステムトレイに表示されるデバイスマネージャーです。このシンプルなツールを使えば、簡単にディスクパーティションやマウントポイントにアクセスすることができます。それだけではなく、デバイスのマウント/アンマウント、ディスク使用量の表示、ISO イメージのマウントもできます。

主な特徴:
  • ドライブ/ボリューム/パーティーション/ISO ファイルのマウントとアンマウント
  • 暗号化したドライブ/ボリューム/パーティーションのロックとロックの解除
  • ドライブ/ボリューム/パーティーション/ISO ファイルの安全な取り外し

インストール


開発元が公式に PPA を介したインストール方法を紹介しているのにもかかわらずこのツールのパッケージはメンテされておらず、Linux Mint 19.x(Ubuntu 18.04) では PPA を介してインストールすることができません。そこで、少々面倒ですが、GitHub からソースをゲットし自分で deb パッケージを作成しインストールすることにします。
Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
まずビルドするにあたり必要なパッケージを揃えます:
sudo apt install -y debhelper autotools-dev valac libgtk-3-dev libgee-0.8-dev libjson-glib-dev libappindicator3-dev checkinstall git
続いて GitHub からソースをゲットします:
git clone https://github.com/teejee2008/diskman.git
diskman フォルダーの中に入り make します:
cd diskman/ && make
以下のメッセージが表示されれば成功しています。警告が複数あるのはコードで古いメソッドを使っているからでしょう:
Compilation succeeded - 63 warning(s)



続いて deb パッケージを作成していきます:
sudo checkinstall --install=no
y で:
The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs? [y]: y

パッケージの説明は適当に入力してください:
このパッケージの説明を書いてください
説明の末尾は空行かEOFにしてください。
>> diskindicator
>>

以下では、何も変更しなくても差し支えありません。
Enter
で:
このパッケージは以下の内容で構成されます: 
0 - Maintainer: [ root@linuxmintmate ]
1 - Summary: [ diskindicator ]
2 - Name: [ diskman ]
3 - Version: [ 20181229 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ diskman ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ diskman ]
12 - Conflicts: [ ]
13 - Replaces: [ ]

変更するものの番号を入力してください。Enterで続行します:

パッケージングが終わるとインストール方法が表示されます:


生成されるパッケージ名は環境や日付によってまちまちだと思うので * で指定してあげればどんな環境であっても以下のコマンドでインストールできるはずです:
sudo dpkg -i diskman_*.deb
なお、checkinstall で作成した deb パッケージは作成した環境でのみ使用することが推奨されています。配布する deb パッケージには適していません。

インストールが完了したら ミントメニュー -> システムツール -> Disk Indicator より起動できます。

スクリーンショットツアー








| Linux |
| 1/1 |

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 更新は不定期です。

script

LinuxMint ISO 日本ミラーサーバー:




Amazon: