Manjaro インストール直後にやること12選

f:id:dot-harley:20200305090106j:plain:alt=アイキャッチ画像

前回は Manjaro を VirtualBox にインストールしました。

Manjaro 19.0.2 KDE エディションを VirtualBox にインストールしてみた - In my mind

今回は Manjaro を快適に使用するための初期設定、環境整備をしていきます。

リポジトリのミラーサーバーリストを変更

ターミナルを開いて↓のコマンドを実行します。

$ sudo pacman-mirrors --fasttrack

ミラーサーバーの速度を計測して、速いサーバーを使うように設定しています。

終わるまでにかなり時間がかかります。。。

ミラーサーバーの速度を計測中

↓のようにサーバーリストが変更されました。やはり距離的に近い日本のサーバーが上位に来てますね。

サーバーリストが変更された

時間はかかりますが、速いサーバーを自動で選んで設定してくれるのは楽ですね。

Linux Mint のときは勘で設定してたのでw

圧縮をマルチコア対応にする

/etc/makepkg.confを編集します。

$ sudo nano /etc/makepkg.conf

「COMPRESSXZ」で検索し

COMPRESSXZ=(xz -c -z -)

となっている箇所を

COMPRESSXZ=(xz -c -z - --threads=0)

に書き換えて保存します。

※ 2020年9月12日にリリースされた最新バージョン、 Manjaro 20.1 Mikah ではデフォルトで対応済みです。上記の修正を加える必要はありません。

リポジトリの同期とソフトウェアの更新

ターミナルを開いて↓のコマンドを実行します。

$ sudo pacman -Syyu

日本語入力環境を構築

Fcitx-Mozc をインストール

ターミナルを開いて↓のコマンドを実行します。

$ sudo pacman -S fcitx-im fcitx-mozc

何か「選択してください」とか聞かれたら、何も入力せずエンター ↲ キーを押します。するとデフォルトのまま全部インストールされます。

設定

fcitx がデフォルトで使われるように設定します。

まず、ドットファイル(隠しファイル)を表示します。

Dolphin ファイルマネージャーを起動して、ハンバーガーメニューから「隠しファイルを表示」にチェックを入れます。

隠しファイルを表示する

ホームフォルダ直下にある「.xprofile」というファイルに↓の内容を追記して保存します。

export LANG="ja_JP.UTF-8"
export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx

.xprofile が無かったら新規作成します。

つづいてホームフォルダ直下にある「.bashrc」というファイルに↓の内容を追記して保存します。

export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx

一旦ログアウトしてからログインし直します。

すると設定が反映され、日本語入力できるようになります。

ホームディレクトリを英語化

Manjaro を日本語でインストールしたので、ホームディレクトリ直下の「ダウンロード」「デスクトップ」「ドキュメント」などフォルダ名も日本語になっています。

このままではコマンドラインで操作する時に不便なので英語に変更します。

日本語のホームディレクトリ

まずターミナルを開いて↓のコマンドを実行します。

$ sudo pacman -S xdg-user-dirs-gtk

つづいて↓のコマンドを実行します。

$ LANG=C xdg-user-dirs-gtk-update

すると変更の確認画面が表示されます。

「Don't ask me again」にチェックを入れるのを忘れずに「Update names」ボタンをクリック。

変更の確認画面

再起動するとホームディレクトリが英語になっています。

ホームディレクトリの英語化ができた

OS 選択画面で待たずに起動

テキストエディタGrub の設定ファイルを編集します。

$ sudo nano /etc/default/grub
GRUB_TIMEOUT=5

となっている箇所を

GRUB_TIMEOUT=0

に編集して保存します。

↓のコマンドを実行します。

$ sudo update-grub

次回起動時からは OS の選択画面は表示されず、直接 Manjaro が起動します。

OS を選択したいときは、電源投入後 Manjaro が起動する前に Shift キーを押しっぱなしにしておけば OS 選択画面に入れます。

SSD の Trim コマンドを有効にする

SSD を快適に使用するため、Trim コマンドが自動で定期的に実行されるように設定します。

ターミナルを開いて↓のコマンドを実行します。

$ sudo systemctl enable fstrim.timer

再起動すると設定が有効になります。

キャッシュを RAM ディスク上に

キャッシュフォルダを RAM ディスク上に配置して高速化します。

テキストエディタで fstab ファイルを編集します。

$ sudo nano /etc/fstab

↓の内容を追記して保存。

tmpfs /home/ユーザー名/.cache tmpfs noatime,nodev,nosuid,size=2G 0 0

「ユーザー名」は自分のユーザー名に置き換えてください。

↓のコマンドを実行して fstab の設定を反映させます。

$ sudo mount -a

ファイアウォールを導入

Manjaro のメニューから「ソフトウェアの追加と削除」を起動します。

「ソフトウェアの追加と削除」を起動

「gufw」を検索してインストールします。

gufw をインストール

設定はとりあえず Incoming: Deny , Outgoing: Allow で ON にしといたら良いんじゃないかな。

gufw の設定

アンチウイルスソフトの導入

アンチウイルスソフトとして Clamtk を導入します。

詳しくは↓の記事をご覧ください。

Clamtk アンチウイルスソフトの導入【Linux】 - In my mind

エラーチェック

ターミナルを開いて↓のコマンドを実行します。

$ sudo systemctl --failed

結果、エラーが検出された場合はエラーコードをググるなどして解消しておきましょう。

もうひとつ。↓のコマンドを実行します。

$ sudo journalctl -p 3 -xb

結果、エラーが検出されても Manjaro の使用には差し支えないかもしれません。しかし、解決できるなら解決しといたほうが気持ちよく使えますよね。

エラーチェックは初回に限らず、ときどきやっといたら安定運用につながるんじゃないでしょうか。

バックアップ

OS を問わず言えることですが、バックアップはこまめに取っておきましょうね。

Timeshift でシステムのバックアップ

Manjaro にプリインストールされていた Timeshift を使って、自動バックアップをスケジュールしておくと良いでしょう。

何かアップデートするときは手動でバックアップをとりましょう。アップデートしたら動作がおかしくなった、というときのために。

ホームディレクトリのバックアップ

任意のフォルダをバックアップするといえば「Grsync」が有名ですね。

使い方が難しいのは嫌だよ、というアナタには「Deja Dup」あたりを使うと幸せになれるかも。

どちらも「ソフトウェアの追加と削除」からインストールできます。

参考

Manjaro(i3)のインストール+構築メモ - トトのメモ帳

Manjaro Linux 日本語入力の設定 - turtlechanのブログ

日本語の設定 - Manjaro Linux

Linux – RAMディスクを使ってアクセスを高速化 | SlackNote

【Ubuntu】ウィルス対策。ClamTkが上手く動作しないときの対処あれこれ。 - freefielder.jp

Top 5 First Steps After Fresh Manjaro Linux Install 2018 - YouTube

10 Things to do first in Manjaro - YouTube

Manjaro 19.0.2 KDE エディションを VirtualBox にインストールしてみた

f:id:dot-harley:20200305090106j:plain

今回は VirtualBox に Manjaro をインストールします。

インストール iso は用意してありますね?

まだの人は↓の記事を参考にダウンロード、ベリファイしておいてください。

Manjaro のダウンロード、ベリファイ - In my mind

ではインストールを始めましょう。

Manjaro をライブ起動する

インストールディスクをセットした仮想マシンVirtualBox から起動します。

Manjaro19.0.2 の起動画面

起動オプションを設定

キーボードの設定

キーを押して「keytable=us」となっている項目を選択します。

エンター ↲ キーを押してキーボードの設定画面に入ります。

自分の使っているキーボードを選択します。

日本語キーボードなら「keytable=jp」で OK。

選択できたらエンター ↲ を押して最初の画面に戻ります。

キーボードの選択

言語の選択

今回は日本語に設定します。

最初の画面からキーを押して「lang=en_US」となっている項目を選択します。

エンター ↲ キーを押して言語の設定画面に入ります。

スクロールして「日本語」を選択します。

選択できたらエンター ↲ を押して最初の画面に戻ります。

言語の選択

ドライバーの選択

最初の画面からキーを押して「driver=free」となっている項目を選択します。

エンター ↲ キーを押してドライバーの選択画面に入ります。

とりあえず「nonfree」を選択しといたら良いと思います。

プロプライエタリなドライバーを必要とするハードウェアを使用していないと断言できる場合は「free」で良いでしょう。

選択できたらエンター ↲ を押して最初の画面に戻ります。

ドライバーの選択

設定を確認して起動

最初の画面に戻ったら、設定に間違いがないか確認します。

良ければ「Boot」を選択してエンター ↲

設定を確認して起動

Manjaro がライブ起動し、ようこそ画面が表示されました。

Manjaro ようこそ画面

Manjaro をインストール

ようこそ画面の下の方「インストーラを起動」と書かれたボタンをクリックするとインストーラが起動します。

以下、ウイザードに従って進めていきます。

インストーラを起動

言語の選択

「日本語」を選択して「次へ」ボタンをクリック。

今回は日本語で起動したので自動的に「日本語」が選択されていました。

言語の選択

地域を設定

地域に「Asia」ロケールに「Tokyo」を選択して「次へ」。

ここでも自動的に適切なものが選択されていました。

地域を設定

キーボードの設定

使っているキーボードに合わせて設定します。

一般的な日本語キーボードなら「Generic 105-key PC (intl.)」「Japanese」「デフォルト」で OK。

キーボードの設定

パーティションの設定

今回は仮想マシンクリーンインストールするので「ディスクの消去」を選択。

スワップVirtualBox 上で試用するだけなら必要ないのかもしれませんが、念のため「スワップ(ハイバネートなし)」を設定しておきました。

Tips

「手動パーティション」でインストールに失敗することがあります。そんなときは、GParted などのパーティション管理ソフトを使ってあらかじめパーティションを作成しておいてからインストーラを起動すると幸せになれるかも。

パーティションの設定

ユーザー情報の設定

ユーザー名、コンピューター名、パスワードなどを設定します。

今回は「管理者アカウントと同じパスワードを使用する」にチェックを入れました。管理者権限が必要な作業をする時に「sudo」を利用することが出来ます。

「su」を使いたい場合はチェックを入れずに管理者アカウントのパスワードを設定します。

ユーザー情報の設定

Office ソフトの選択

今回は Office をインストールしないことにしたので「No Office Suite」を選択しました。

FreeOffice は LibreOffice に比べて Microsoft Office との互換性が高いです。しかし、プロプライエタリ完全版は有料です。

Office ソフトの選択

インストールオプションの確認

ここまで選択してきたオプションの要約が表示されます。

問題なければ「インストール」ボタンをクリック。

インストールオプションの確認

本当にインストールしていいか聞かれるので「今すぐインストール」ボタンをクリックしてインストールを開始します。

最終確認

インストールにはしばらく時間がかかるので、お茶でも飲みながら待ちます。

今回はハードディスクにインストールしましたが、 15分〜 20分程度で完了しました。Windows に比べたら格段に早いですよね。途中で何か入力を求められることもないし。

。。。

。。。

。。。

インストール完了

そうこうしているうちにインストールが完了しました。

「今すぐ再起動」にチェックを入れて「実行」ボタンをクリック。

インストール完了

初回の起動には時間がかかるので、焦らず待ちます。。。

Manjaro 起動

無事に Manjaro が起動しました。

ライブ起動したときと違って、ようこそ画面には「インストーラを起動する」というボタンがありません。

Manjaro へようこそ!

Manjaro システムのディスク使用量

インストール直後のディスク使用量は 7GiB 程度でした。

Manjaro システムのディスク使用量

Manjaro KDE エディションのメモリ使用量

メモリ使用量は 527MiB でした。

Manjaro KDE エディションのメモリ使用量

Manjaro のダウンロード、ベリファイ

f:id:dot-harley:20200305090106j:plain:alt=アイキャッチ画像

今回は Manjaro の iso イメージをダウンロード。ファイルの整合性チェックまでやります。

ダウンロード

今回は 公式ビルドの KDE エディションをダウンロードします。

過去に Virtual Box で試したときには Xfce よりもメモリ消費量が少なかったんですよねぇ。

↓の公式ダウンロードページからどうぞ。

Manjaro - KDE Plasma

Manjaro KDE エディションのダウンロードページ

  1. 「Download」ボタンをクリックして iso ファイルをダウンロードします。
  2. 「Download GPG signature」のリンクをクリックしてシグネチャファイルをダウンロードします。
  3. SHA1 の値は後で使うのでコピーしておきます。

ファイルの整合性を確認

SHA1PGP により、ファイルの整合性をチェックします。Linux のインストールイメージをダウンロードしたときにやるいつもの作業ですね。

SHA1 によるファイルの整合性チェック

Manjaro のダウンロードは済みましたか?

「Downloads」フォルダに iso ファイルとシグネチャファイルは入ってますね?他のフォルダにダウンロードした場合は「Downloads」フォルダに移動しておいてください。後の作業が楽になります。

チェックサムファイルを作る

公式ダウンロードページでチェックサムファイルを配布していなかったので、今回は自分で作ります。

さあ、ダウンロード時にコピーしておいた SHA1値を使うときです。

テキストエディタで以下のような内容を記述し、Downloads フォルダに名前を付けて保存。ファイル名は「manjaro-sha1.txt」とでもしておきましょう。

c9673f079910406c8c567d5f3501f5bb4dd15f6b manjaro-kde-19.0.1-200228-linux54.iso

[SHA1値][空白][ファイル名] という書式です。

バージョンやエディションが変われば SHA1値もファイル名も変わりますのでそのあたりは適宜。

チェックサムファイルには改行で区切って複数記述することが出来ます。いくつものエディションをダウンロードしたときに便利です。

実際にチェックする

Downloads フォルダに iso ファイル、シグネチャファイル、チェックサムファイルの 3つが揃ってますね?

ではターミナルを開いて Downloads フォルダに移動しましょう。

$ cd ~/Downloads

いよいよ sha1sum コマンドを実行します。「-c」オプションで先ほど作成したチェックサムファイルを指定します。

$ sha1sum -c manjaro-sha1.txt

↓のように「OK」と表示されれば成功です。

manjaro-kde-19.0.1-200228-linux54.iso: OK

GPG による署名のチェック

↓ 公式 wiki の記事に沿って GPG による署名のチェックを行います。

How-to verify GPG key of official .ISO images - Manjaro Linux

事前に GPG と wget がインストールされているか確認しておいてください。無い場合はインストールしておいてください。

root フォルダに戻ります。

$ cd

1. GitHub から Manjaro 開発者の鍵を全てダウンロードする。

↓ のコマンドを実行します。

$ wget github.com/manjaro/packages-core/raw/master/manjaro-keyring/manjaro.gpg

イロイロ表示されますが、ビビらず待ちます。

最後に「'manjaro.gpg' へ保存完了」と表示されれば OK。

2. ダウンロードした鍵をインポートする。

↓ のコマンドを実行します。

$ gpg --import manjaro.gpg

イロイロ表示されますが、処理が終わるまで待ちます。

3. Philip Müller の GPG 鍵をインポートする。

↓ のコマンドを実行。

$ gpg --keyserver hkp://pool.sks-keyservers.net --search-keys 11C7F07E

しばらくすると ↓ のように表示されるので「1」を入力して Enter。

gpg: data source: http://202.46.182.22:11371
(1) Philip Müller (Called Little) <philm@manjaro.org>
 2048 bit RSA key CAA6A59611C7F07E, 作成: 2012-05-05
Keys 1-1 of 1 for "11C7F07E". 番号(s)、N)次、またはQ)中止を入力してください >

処理が終わるまで待ちます。

4. 署名をチェック

↓ のコマンドを実行します。

$ gpg --verify manjaro-kde-19.0.1-200228-linux54.iso.sig

↓ のように表示されます。

gpg: 署名されたデータが'manjaro-kde-19.0.1-200228-linux54.iso'にあると想定します
gpg: 2020年02月28日 19時58分01秒 JSTに施された署名
gpg: RSA鍵E4CDFE50A2DA85D58C8A8C70CAA6A59611C7F07Eを使用
gpg: 発行者"philm@manjaro.org"
gpg: "Philip Müller (Called Little) <philm@manjaro.org>"からの正しい署名 [不明の]
gpg: *警告*: この鍵は信用できる署名で証明されていません!
gpg: この署名が所有者のものかどうかの検証手段がありません。
主鍵フィンガープリント: E4CD FE50 A2DA 85D5 8C8A 8C70 CAA6 A596 11C7 F07E

何やら警告されてますが、「"Philip Müller (Called Little) philm@manjaro.org"からの正しい署名」と表示されているので大丈夫なのでしょう。GPG、ヨクワカラン😵

終わりに

お疲れ様でした。

ダウンロードした iso ファイルに破損も改竄もないことが SHA1 と GPG によって確認できました。安心してインストールすることが出来ます。

私が触れたことのある多くのディストリビューションで今回と同様、チェックサムPGP による整合性チェックが推奨されています。

実は Manjaro をダウンロードする直前に Windows10 1909 もダウンロードしたんですよ。しかし、Windows には整合性をチェックする手段が見当たりませんでした。

改竄されてたらどーすんだ!

Windows マイナス 1 ポイント。

しかもインストール iso のファイルサイズ、5.4GB!!!

片面1層の DVD メディアに入り切らないじゃないか!

Windows さらにマイナス 1 ポイント。

いやぁ〜。ますます Windows 離れが捗りますな。

次回は Manjaro を VirtualBox にインストールします。

Manjaro 19.0.2 KDE エディションを VirtualBox にインストールしてみた - In my mind

訂正

本記事の「GPG による署名のチェック」で手順(1、2)と 3 の両方やりましたが、本来はどちらかでいいです。

つまり、GitHub の方をやったら Philip Müller はやらなくていい。逆に Philip Müller の方をやったら GitHub はやらなくていいです。

広告の品「CFD販売 CSSD-S6B480CG3VX」を購入したらハズレを引いた件。。。

f:id:dot-harley:20200309162454j:plain:alt=アイキャッチ

いままでマイドキュメントやマイピクチャなどのユーザーデータを保存しておくドライブとして使用していた「Hitachi HDP725050GLA360」。1年ほど前から気づいていたのですが、SMART で「3個の不良セクターがありますが、使用可能です」と診断されています。

旧 HDD

「使用可能です」とはいうものの、精神衛生上よろしくない。

すでに 10年ぐらい使ってるし、そろそろ買い替えどきかな?Hitachi HDP725050GLA360 くん、よく頑張りました。

このさい SSD に換装しようか。

しばらく価格比較サイトを閲覧しながら検討していると、ある日突然。。。

広告の品発見!

CFD販売 CSSD-S6B480CG3VX が ピーシーデポにて数量限定 ¥6000也。価格.com の注目ランキング、売れ筋ランキングともに第1位の品です。

NTT-X Store で CFD販売 CSSD-S6B480CG3VX の現在の価格をチェック!
CFD CSSD-S6B480CG3VX

喜び勇んで買いに行ったものの、税込みだと ¥6600。価格.com での最安値が送料税込み ¥6980 なので、そこまで「安い!」ってほどじゃありませんでしたね。

とはいえ、店頭販売は初期不良対応に強みがあります。

ネット通販で購入した商品に万が一ですが初期不良があった場合。メールか電話で問い合わせをして、商品を返送することになります。

はい、返送料がかかりますね。せっかく最安値を探して購入したのに、かえって割高になってしまいます。

いっぽう店頭販売なら「初期不良です」といって販売店へ持ち込めばよろしい。メールや電話より話も通じやすいです。

などと考えつつ購入するも直後に多忙な日々が続き、気がつけば 1ヶ月ほど放置。。。

ようやくまとまった時間が出来た頃、CSSD-S6B480CG3VX の存在を思い出す。

データを移行する前に動作チェックだな、と Linux Mint のディスクユーティリティで速度を計測。

ディスクユーティリティで速度計測

なんじゃこりあぁぁぁ!!!

読み書きともに公称値の半分程度しか出てないじゃないか!

。。。

まあ待て。落ち着け。

Linux がおかしいのかもしれん。Windows で計測してみようじゃないか、と CrystalDiskMark で速度計測。

CrystalDiskMark で速度計測

ダメです!

ショックのあまりヨシダはヨシダみたいな言い方になってしまいました。←まだ混乱している🤯

この時点で初期不良を疑いつつ、Windows 付属のエラーチェックを実行。

Windows のエラーチェック

え!?正常。。。だ、と??

どーなってるんだーーー!!!

ひととおり錯乱したところで、気を取り直して FromHDDtoSSD でエラーチェック。

FromHDDtoSSD でエラーチェック

FromHDDtoSSD の完全スキャンレポート

やっぱり出た!不良セクタ

新品未使用なのに「劣化し始めてる」とか言われてるし。。。

それにディスク容量に表示されている値もおかしいし。

うん、初期不良ですね(確信)。

さっそくお店に持っていって初期不良であることを告げる。

しばらく待たされたあと、速度が出ないと確認できたので初期不良対応します、とのこと。

ただし「現在在庫がないため取り寄せになります。何日かかるかは分かりません。返金にしますか?」という。

う〜む。どうしよう。

このときすでにメーカーにも販売店にもネガティブなイメージがびっしりついていました。この場で返金してもらって他のメーカー製の SSD を買おう。CFD も ピーシーデポも二度と使うもんか!という考えに傾いていました。

しばし悩んだ末、けっきょく取り寄せで交換してもらうことにしました。いまからネット通販しても手元に届くまで同じぐらいの日数かかるでしょう。せっかくセール価格で手に入れたのに返金はもったいないし。

というわけで、ただいま入荷待ちの日々。

VLC media player のプレイリストファイルから動画に埋め込むチャプターファイルを生成する CopyQ スクリプト

f:id:dot-harley:20200110233155j:plain

以前 VLC media player のカスタムブックマークを利用してお気に入りのシーンを保存する方法を記事にしました。

VLC media player のカスタムブックマークを利用する - In my mind

ですが、これだと動画ファイルとともにプレイリストファイルも管理しなければなりません。動画のファイル名を変更したらプレイリストファイルの中身も書き換えなきゃいけないとか面倒です。

やっぱり動画にチャプターを埋め込みたい。

そこで VLC media player のプレイリストファイルからチャプターファイルを生成する CopyQ スクリプトを書いてみました。

特徴

  • VLC media player のプレイリストファイルから動画に埋め込むチャプターファイルを生成します。

  • プレイリストに複数の動画が登録されている場合、カスタムブックマークが登録されている動画すべてのチャプターファイルを生成します。

  • 生成されるチャプターファイルは Nero 形式。mkv や mp4 に埋め込むことが出来ます。

  • 童画の初め 00:00:00.000 時点にカスタムブックマークが登録されていない場合は自動でチャプターが追加されます。

  • 「もっとスマートなやり方があるよ」という方はぜひコメント欄にお願いします。

免責事項

無保証です。このスクリプトを使用して何らかの損害が発生したとしても、作者は責任を負いません。

不具合の報告はコメント欄にお願いします。直せるかどうか分かりませんが。。。

コード

[Command]
Automatic=true
Command="
    copyq:
    // \x79d2\x3092\x6642\xff1a\x5206\xff1a\x79d2\x306b\x5909\x63db\x3059\x308b\x95a2\x6570
    function toHms(t) {
      var hms = \"\";
      var h = t / 3600 | 0;
      var m = t % 3600 / 60 | 0;
      var s = t % 60;
    
      hms = padZero(h) + \":\" + padZero(m) + \":\" + padZero(s);
    
      return hms;
    
      function padZero(v) {
        return (\"0\" + v).slice(-2)
      }
    }
    
    // xspf \x30d5\x30a1\x30a4\x30eb\x306e\x30d1\x30b9\x3092\x53d6\x5f97
    var xspfLocation = str(clipboard('text/plain'))
    
    // xspf \x30d5\x30a1\x30a4\x30eb\x306e\x5185\x5bb9\x3092\x8aad\x307f\x3053\x3080
    var f = new File (xspfLocation)
    if ( ! f . openReadOnly ())
      throw 'Failed to open the file: ' + f . errorString ()
    var bytes = f . readAll ();
    if( ! str(bytes).match(/xmlns:vlc=\\\"http:\\/\\/www\\.videolan\\.org\\/vlc\\/playlist/)){
      popup('This is NOT VLC playlist file!')
    }
    
    // <track> \x3092\x914d\x5217\x306b\x683c\x7d0d
    var tracks = str(bytes).match( /<track>[\\s\\S]+?<\\/track>/g );
    
    for (r in tracks){
      if(! tracks[r].match(/<vlc:option>bookmarks={/ ))
        continue
      // \x51fa\x529b\x5148
      var location = tracks[r].replace(/^[\\s\\S]*?<location>file:\\/\\/(.+?)<\\/location>[\\s\\S]*$/ , '$1.chapter.txt')
      // \x30ab\x30b9\x30bf\x30e0\x30d6\x30c3\x30af\x30de\x30fc\x30af\x3092\x53d6\x5f97
      var bookmarks = tracks[r].match(/\\{name=.+?,time=.+?\\}/g );
      var bookmarksArry = [];
      for(s in bookmarks){
        bookmarksArry[s] = {}
        bookmarksArry[s].name = bookmarks[s].replace(/^.*?name=(.+?),.*$/ , '$1')
        bookmarksArry[s].time = bookmarks[s].replace(/^.*?time=(\\d+?)\\.\\d*\\}/ , '$1')
        bookmarksArry[s].frame = bookmarks[s].replace(/^.*?time=\\d+?\\.(\\d*)\\}/ , '$1')
      }  
      // \x30ab\x30b9\x30bf\x30e0\x30d6\x30c3\x30af\x30de\x30fc\x30af\x3092\x6642\x9593\x9806\x306b\x30bd\x30fc\x30c8
      function compareFunc(a, b){
        return a.time - b.time;
      }
      bookmarksArry.sort(compareFunc);
      // \x30c1\x30e3\x30d7\x30bf\x30fc\x30d5\x30a1\x30a4\x30eb\x306e\x5185\x5bb9\x3092\x751f\x6210
      var chapter = ''
      var m = 0
      if(bookmarksArry[0].time != 0 && bookmarksArry[0].frame != 0){
        chapter = 'CHAPTER01=00:00:00.000\\nCHAPTER01NAME=Start\\n'
        m = 1
      }
      for(s in bookmarksArry){
        n = Number(s) + 1 + m;
        chapter += 'CHAPTER' + ('0' + n).slice(-2) + '=' + toHms(bookmarksArry[s].time) + '.' + bookmarksArry[s].frame + '\\n'
          + 'CHAPTER' + ('0' + n).slice(-2) + 'NAME=' + bookmarksArry[s].name + '\\n'
      }
      add(chapter)
      //  \x30c1\x30e3\x30d7\x30bf\x30fc\x30d5\x30a1\x30a4\x30eb\x3092\x66f8\x304d\x51fa\x3059
      var g = new File ( decodeURIComponent(location) )
      if ( ! g . openWriteOnly () || g . write ( chapter ) == - 1 )
        throw 'Failed to save the file: ' + g . errorString ()
      // Always flush the data and close the file,
      // before opening the file in other application.
      g . close ()
    }"
Icon=\xf008
Input=text/plain
Match=\\.xspf$
Name=VLC playlist.xspf -> chapter.txt

使い方

準備

あらかじめ以下の記事を参考に、スクリプトを登録しておきます。

CopyQ に共有スクリプトを追加する方法 - In my mind

あらかじめ CopyQ を起動しておきます。

動画とそのプレイリストファイルを用意します。

今回は動画「Cat-2879.mp4」とプレイリストファイル「Cat-2879.xspf」を用意しました。

チャプターファイルを生成

プレイリストファイル「Cat-2879.xspf」をクリップボードにコピーするだけです。

プレイリストファイルをクリップボードにコピー

ほどなくチャプターファイルが生成されます。

ファイル名は「動画名 + .chapter.txt」となります。今回は「Cat-2879.mp4.chapter.txt」ですね。

チャプターファイルが生成された

動画にチャプターを埋め込む

今回は MkvToolnix を使って動画にチャプターを埋め込みます。

MkvToolnix で動画ファイルを開きます。

MkvToolnix で動画を開く

  1. 出力タブに移ります。

  2. さきほど生成されたチャプターファイルを選択。

  3. 出力先とファイル名を指定します。

  4. 「Start multiplexing」で即時出力するなり「ジョブキューに追加」して後からまとめて出力するなりお好きなように。

チャプターを埋め込む

確認

出来上がった動画ファイルを VLC media player で再生してみます。

メニュー > 再生 > チャプター から好きなシーンにジャンプできるようになりました。

チャプターが埋め込まれた

参考

MP4のチャプターファイルについて: Take it eazy!!


アイキャッチ画像素材提供:A MacBook with lines of code on its screen on a busy desk photo – Free Computer Image on Unsplash

記事の推敲に便利!「Intelligent Speaker」の使い方【Firefox/Chrome 機能拡張】

f:id:dot-harley:20200117231106j:plain

ブログの記事を推敲するさい、誰かに読み上げてもらうと捗りますよね。

しかし毎回毎回人に頼むことも出来ないので結局コンピューターの力を借りることになります。

かつては↓のブックマークレットを使っていました。

ウェブサイトのテキストをクリックで音読するブックマークレット - @kyanny's blog

Firefox のリーダービューから読み上げることも出来ますね。

Windows なら良いのですが、Linux ではうまくいきません。

英単語はちゃんと読み上げてくれるものの、ひらがな・カタカナ・漢字は1文字1文字「Japanese character」とか「Chinese character」としか読んでくれません。

Open JTalkでもインストールすれば日本語で喋ってくれるのかもしれません。しかし、サンプル音声を聞いた限りではノイズが多くて聞くに耐えません。

決定的な打開策もないまま約1年が過ぎ。。。

ようやく良いアドオンにめぐり逢いました!!!

「Intelligent Speaker」です。

公式サイト:Intelligent Speaker: text to speech browser extension, synced with podcast feed

↑のページから FirefoxChromeOpera それぞれの機能拡張ページへ飛べます。

インストールが済んだらさっそく使ってみましょう。

読み上げたいページを開きます。

Intelligent Speaker の機能拡張アイコンをクリックして「+」ボタンをクリック。

するとリストにページが追加されます。

ページを追加

一部のテキストだけ読み上げたい場合は選択範囲を右クリックして「フィードに追加」。

選択範囲を追加

リストに追加されたアイテム左側のアイコンをクリックすると音声が再生されます。

読み上げる

「設定」からボイスを選択できます。

Female: Mizuki

デフォルトは「Female: Mizuki」とかいう聞いたことがないボイス。

これがダンゼン聞き取りやすいのです。

調べてみるとどうやら「Male: Takumi」とともにAmazon Pollyなる有料音声合成サービスのボイスだという。

有料音声合成エンジンを使っているためか、Intelligent Speaker には使用制限があります。

無料枠は「1時間/月」となってます。

私の使い方では無料枠で間に合いそうですね。存分に活用させていただきますm(__)m

アイキャッチ画像素材提供: George W. Bush standing on lectern during daytime photo – Free Human Image on Unsplash

【解決済】 CopyQ で画像がコピーできない

f:id:dot-harley:20200116051929j:plain

クリップボード拡張ソフト「CopyQ」を常用しております。

もはやコレなしでは記事も書けないところまで来てます。

いくつか CopyQ スクリプト まで書いておいて今更ですが、重大な欠陥に気が付きました。

画像がコピーできないのです。

Web 上に表示された画像をコピーして GIMP で編集しようとしても開けません。

CopyQ を常駐していないときはうまく行くので、CopyQ のせいで間違いないでしょう。

原因を探るべく公式ドキュメントを読んでみる。。。

下の記事によると「CopyQ の設定 > アイテム」から画像関連の設定ができるとのことですが、私のは空っぽです。

Images — CopyQ documentation

CopyQ の設定 > アイテム

ナニカガオカシイ。。。

もしや CopyQ のバージョンが古いのか?たしか Flatpack 版もあったはずだ。インストールしてみようか、と「ソフトウェアの管理」を開いてみると。。。

「Copyq-plugins」がインストールされていないことに気が付きました(>ω・)てへぺろ

ソフトウェアの管理 > Copyq-plugins

早速インストールしたところ、「CopyQ の設定 > アイテム」で画像関連の設定ができるようになりました。

CopyQ の設定 > アイテム (プラグイン導入済)

コピーした画像も CopyQ に保存されています。

画像がコピーできた

いや〜、八兵衛もビックリのうっかりさんでしたね。おはずかしい。

ともあれ CopyQ で画像が保存できるようになったので、めでたしめでたし。どっとはれ。

アイキャッチ画像素材提供: woman holding scissor photo – Free Person Image on Unsplash