トップ 追記

Days of Speed

過ぎゆく日々を書こう。忘れっぽい未来の自分のために


2019-10-15

_ Kdenliveで大量のテロップを入れるにはテンプレートタイトルを使おう

最近、ビデオ編集をよくやってますが、今どきのYouTuberっぽくテロップをバンバン入れるのはLinuxでは面倒だと思ってました。 が、しかし。Kdenliveのテンプレートタイトルを使うと、文字だけ差し替えたテロップをバンバン作れることを発見したのでメモしておきます。

Kdenliveを起動したらProject Binの「タイトル・クリップの追加」から、タイトルクリップ編集画面を呼び出します。タイトルクリップ編集画面でテキストを入力しますが、この時に「%s」と入力してください。

テキスト「%s」は差し替わる文字が入るので、このテキストのフォントやサイズ変更、縁取りなど装飾などを加えて、[名前をつけて保存]からタイトルクリップを保存します。保存したらタイトルクリップの編集を終了します。

これでテンプレートタイトルを使う準備ができたので、ビデオ編集画面に戻ったらProject Binから「テンプレートタイトルの追加」を選びます。テンプレートタイトルの追加画面から、保存したタイトルクリップを選んでテロップに使いたい言葉を入力したら、その言葉のタイトルクリップができあがります。

あとは編集していてテロップを入れたくなれば「テンプレートタイトルの追加」からテロップを作れば、大量にテロップをつける場合でも、すぐにテロップが作れますね。

実際につけてみた例はこちらの動画になります。


2019-10-13

_ Nginxのリバースプロキシを置くようにした

自宅サーバーを少しづつモダンなサーバー環境に整えていく作戦その2。

昔ながらのApacheを置く形から、一番前にNginxのリバースプロキシを挟んで後ろに置いたApacheに割り振るようにした。 次はLet's EncryptでSSL化にするか、Docker、LXDの移行かな。

Tags: nofuture

2019-10-12

_ LibreOfficeの初期設定を変更したい場合は、設定を変更する拡張機能を作ってインストールしよう

企業や団体でLibreOfficeを大量導入する場合など、初回起動時のメッセージを無効にしたいと思います。 Ask LibreOfficeに初回起動時のメッセージを表示させたくないという質問があって、無効にする方法を調べたのでメモしておきます。

LibreOfficeの設定は、ユーザープロファイル ~/.config/libreoffice/4/user/registrymodifications.xcu (Linuxの場合。それ以外の人はこちらで保存場所を確認)に保存されます。 registrymodifications.xcuを見ると、XML形式で設定が保存されているので、これを変更すれば設定が変更できることがわかります。

さて、これをどうやって登録すればいいのかですが、Apache OpenOfficeにこういう資料があります。

LibreOfficeには登録ウィザードはありませんが初期設定を変更したい事には変わりないので、このページに置いてある拡張機能をzipとして展開します。展開すると設定を変更するxcuファイルと拡張機能の情報しかない事がわかりました。

そうとわかれば、registrymodifications.xcuの変化を見て、変わった設定から抜き出した設定をファイルにして拡張機能化。そして、その拡張機能をシステムの拡張機能としてインストールすれば初期設定が変わるはずです。 それで、作ったのがこちら。

これで設定が変わるかと思えば、Tip of The Dayは表示されなくなりました。しかし、初回起動時のインフォバーは残ったままで、これが設定で変更できるかを探しています。どこかにあるのか?

_ LibreOfficeのソースコードを素早く手元にCloneする方法

LibreOfficeをビルドするためのDockerfileを作りましたが、LibreOfficeのソースコードをCloneをすると死ぬほど時間がかかります。正確な時間は計っていないけれど、初回のCloneでは半日ぐらいかかります。これは辛い。

せっかくDockerでいつでもビルドできるようになったのに、ソースコードの取得で半日もかかってたら熱も覚めるので素早くCloneする方法を探してみました。で、ありました。--depth 1オプションをつけて直近の変更だけ取得にすれば30分で終わります。

 $ git clone --depth 1 git://gerrit.libreoffice.org/core libreoffice

それでも30分か…。半日よりはマシだけど仕方ないか。


2019-10-06

_ クリーンルームでLibreOfficeをビルドするためのDockerfileを書いた

LibreOffice日本語チームのTwitterからLibreOfficeの話題を追ってたら、いくやさんがLXDを使ったLibreOfficeのビルドについてツイートしてました。 最近、LXDが気になる人になっているけれど、使い捨てのクリーンルーム環境でビルドするならDockerのほうが向いてる気がしたので、韓国語教室から帰ってきてからDockerfileを書いてみた。

使い方はREADMEを見てください。ライセンスはCC0にしてるので煮るなり焼くなり好きにしてください。

とりあえず、ビルドに必要なものを全部ぶち込んだらDockerイメージが3GBになってしまい、これをDockerHubに置いてもポータビリティって何?状態なので自分でDockerイメージをビルドしてください。

今のところLibreOfficeのビルドは順調に進んでいるけれど、これ、ビルドが終わるのに何時間かかるのだろう?


2019-10-04

_ 家庭内LANで内部の名前解決ができなかった件を直した

少しづつ家の中のネットワークを見直したり、今どきっぽくしたりしてます。 今日は、家の中で名前解決できなくてhostsを書いてごまかしてたのを直しました。

1つ目、ルーターの設定見直し。

内部で名前解決のためにdnsmasqを置いてたのだけど、ひかり電話とPR-500KIになってから、なぜか参照されない。それでhostsに書いてごまかしていたけれど、これはPR-500KIのDNS設定で「ローカルドメイン問合せテーブル」をdnsmasqのほうに向くように設定したら直った。

ローカルドメイン問合せテーブルは、PR-500KI設定の[詳細設定]→[DNS設定]にあります。そこに内部向けDNSの設定を書けば終わりですが、アドレスがipv6の16進表記でしか入力できないので注意してください。

2つ目、dnsmasqの設定見直し。

これは問題なし。しかし設定を間違って消してしまったので作り直し。デスクトップマシンのキャッシュが効いてなかったので追加して再起動。

両方の設定を見直したあと、digを叩いたりして確認して問題なさそうだったので対応完了。早くすればよかった。

Tags: nofuture

_ Linux上でファイル名が韓国語(CP949)のzipファイルを展開する

春に受けたハングル検定5級(韓国語を40時間/週1時間・1年間勉強した人レベル)が受かったので、勢いでTOPIK I(韓国語能力試験)に申し込んでしまいました。その試験が10/20にあって焦ってますが、それはさておき、TOPIKは過去の資料をWebで公開しています。

特に2016年以降の過去問は書籍では販売されていないので、Webから入手する必要があります。

上のリンクからzipファイルを入手したので、日本語ファイル名でも文字コードを自動判別してバリバリ展開してくれるunarを使って展開したところ予想に反して派手に文字化け。

これはどうしたものかと思ったけど、manのほうを見るとオプションで文字コードが指定できるとの記述があったので、自動判別は止めて文字コードを指定して展開するとビンゴ!

 $ unar -e windows-949-2000 (zipファイル)

こんな感じで文字コードを指定して展開すると文字化けせずにうまく展開できました。

 $ unar -e help

使える文字コードは上のようにすると確認できるので、他の言語でも同じように文字コードを指定すれば、うまく展開できるはず。

Tags: linux tips

2019-09-22

_ 12月4日でGoogle翻訳者ツールキット終了

だからWebサービスは…。学習データがGoogle翻訳だけで事足りるようになったから、使う人が限られているGoogle翻訳者ツールキットは終了って事なのか?

とりあえず、OmegaTで翻訳してます。


2019-09-19

_ ルーターの設定でおかしなことをしてた

恥ずかしくて書けない。ずっと前から見れなかった人、これで見れるはず。

Tags: nofuture

_ vagrant-lxdを試したらかなり良かったのでメモ

tDiaryが嫌になってHexoに移行しようとしたけれど、インポートした過去の日記をビルドするだけで何十分もかかり移行計画は頓挫していました。しかし、夏に思うところあってTwitterを止めて、FacebookはFacebookでいろいろ問題もあり積極的に書く気にならず、結果的に自分のサイトに戻っています。

しかし、tDiaryから別のプラットフォームへの移行を含めたサーバーの刷新計画を諦めたわけではなく、時間を見つけてはVagrantで試しています。

そうするとVirtualBoxのリソースの消費が気になってきたりしたので、試しにlxdとVagrantにlxd providerを追加するvagrant-lxdプラグインを入れたところ、ほとんどハマるところなく動いて、なかなか良かったのでメモしておきます。

試している環境は、もちろんDebian Sid(amd64)です。Debian系なら、おそらく、そのまま使えると思います。

lxdのインストールと設定

当たり前ですがlxdが必要なのでインストールします。インストールは以下を参考にしました。

lxdのインストールは、snapからのインストールが推奨されているようなのでsnapをインストールしてからlxdをインストールします。lxdのストレージプールにはbtrfsを利用するので一緒にbtrfs-progsもインストールしておきます。

 $ sudo apt install snapd btrfs-progs

snapをインストールしたら、lxdをインストールします。

 $ sudo snap install lxd

lxdがインストールできたら、snapでインストールされたパッケージのコマンドなどが入る/snap/binにパスを通しておきます。~/.bashrcの後ろにでも追記しておきましょう。

 export PATH="$PATH:/snap/bin"

そして、ユーザー権限でlxd関係を使うのでlxdグループに利用する人を追加しておきましょう。

 $ sudo gpasswd -a (ユーザー) lxd

ここまでできればパスとグループの設定を反映させるため、一度、ログアウトしておきます。また、ログインしたなら設定の続きです。 まず、lxdを初期化します。

 $ lxd init

実行するといろいろ質問されますがVagrantで使うだけなので、必要ならストレージプールの容量だけ変更して、それ以外はデフォルトのままでいいと思います。

これでlxdのインストールは終わりです。

vagrant-lxdのインストール

Vagrantにvagrant-lxdプラグインを追加します。プラグインのインストールは、通常のVagrantプラグイン追加と同じです。

 $ vagrant plugin install vagrant-lxd

Vagratのlxdプロバイダーを使ってみる

準備が終わったので、vagrant-lxd READMEにあるQuick Startに沿ってlxd providerを試してみます。

 $ vagrant init --minimal debian/stretch64
 $ vagrant up --provider lxd

使用するboxがbusterでなくstretchなのは、lxc/lxd用のboxがstretchしかないからです。 それはさておき、vagrant upを実行するとエラーが出ました。

 $ vagrant up --provider lxd
 The LXD provider was unable to contact the daemon at https://127.0.0.1:8443.

 It's possible that LXD isn't installed, or that it isn't configured to
 accept HTTPS connections from your machine. You can check whether HTTPS
 access is enabled with the following command:

     $ lxc config get core.https_address

 If the result is empty or an error is shown, you will need to correct
 the way LXD is configured before Vagrant can use it. This can be done
 with the following command:

     $ lxc config set core.https_address 127.0.0.1

 You can find more documentation about configuring LXD at:

     https://linuxcontainers.org/lxd/getting-started-cli/#initial-configuration

メッセージを読んでみると、ローカルホストに接続できなかったそうです。 lxc config get core.https_addressで確認して結果がエラーか空ならば、lxc config set core.https_address 127.0.0.1を実行してVagrantが使えるようにしてくださいとのことなので試してみます。

 $ lxc config get core.https_address

なんにもなかったのでメッセージの指示通りに以下を実行します。

 $ lxc config set core.https_address 127.0.0.1
 $ lxc config get core.https_address
 127.0.0.1

これで、もう一度vagrant upを実行します。

 $ vagrant up --provider lxd
 The LXD provider could not authenticate to the daemon at https://127.0.0.1:8443.

 You may need configure LXD to allow requests from this machine. The
 easiest way to do this is to add your LXC client certificate to LXD's
 list of trusted certificates. This can typically be done with the
 following command:

     $ lxc config trust add /home/(ユーザー名)/.vagrant.d/data/lxd/client.crt

 You can find more information about configuring LXD at:

     https://linuxcontainers.org/lxd/getting-started-cli/#initial-configuration

今度は別のエラーが発生しました。 認証ができなかったそうで、lxdの信頼できる証明書リストにlxcクライアント証明書を追加してくれと対処法も出ているので実行します。

 $ lxc config trust add ~/.vagrant.d/data/lxd/client.crt

そして、vagrant-lxd READMEのClient AuthenticationにVagrantfileに証明書を指定する設定もあったので書いておきます。

 Vagrant.configure("2") do |config|
   config.vm.box = "debian/stretch64"
   config.vm.provider 'lxd' do |lxd|
     lxd.client_certificate = '~/.vagrant.d/data/lxd/client.crt'
     lxd.client_key = '~/.vagrant.d/data/lxd/client.key'
   end
 end

これでvagrant upを実行すると…起動しました!

 $ vagrant up --provider lxd
 Bringing machine 'default' up with 'lxd' provider...
 ==> default: Machine has not been created yet, starting...
 ==> default: Box 'debian/stretch64' could not be found. Attempting to find and install...
     default: Box Provider: lxc
     default: Box Version: >= 0
 ==> default: Loading metadata for box 'debian/stretch64'
     default: URL: https://vagrantcloud.com/debian/stretch64
 ==> default: Adding box 'debian/stretch64' (v9.1.0) for provider: lxc
     default: Downloading: https://vagrantcloud.com/debian/boxes/stretch64/versions/9.1.0/providers/lxc.box
     default: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com
 ==> default: Successfully added box 'debian/stretch64' (v9.1.0) for 'lxc'!
 ==> default: The host machine does not support LXD synced folders.
 ==> default:
 ==> default: To use this feature, you must first configure ID mappings for the
 ==> default: current user in /etc/subuid and /etc/subgid. For more information,
 ==> default: refer to `vagrant lxd shadow --help`.
 ==> default:
 ==> default: Converting LXC image to LXD format...
 ==> default: Waiting for machine to boot. This may take a few minutes...
     default: SSH address: 10.13.90.145:22
     default: SSH username: vagrant
     default: SSH auth method: private key
     default:
     default: Vagrant insecure key detected. Vagrant will automatically replace
     default: this with a newly generated keypair for better security.
     default:
     default: Inserting generated public key within guest...
     default: Removing insecure key from the guest if it's present...
     default: Key inserted! Disconnecting and reconnecting using new SSH key...
 ==> default: Machine booted and ready!
 ==> default: Installing rsync to the VM...
 ==> default: Rsyncing folder: /home/vagrant/lxd/ => /vagrant

lxcのボックスがあるとlxd用にコンバートしてくれるので便利ですね。 それとメッセージに出ていますが、共有フォルダが使えないので共有フォルダを使うには設定をする必要があります。

共有フォルダの設定

共有フォルダ/vagrantを使うには、ホスト側のsubuidとsubgidを設定します。

 $ echo root:$(id -u):1 | sudo tee -a /etc/subuid
 $ echo root:$(id -g):1 | sudo tee -a /etc/subgid

これでvagrant reloadすれば、/vagrantフォルダが使えるようになります。

まとめ

文章にすると長くなってますが、エラーメッセージも親切でメッセージを読んでREADMEを読めば、ほとんどハマることなく使えました。 これから活用していきます。


2001|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|06|08|12|
2011|01|02|03|06|07|08|09|10|11|12|
2012|01|02|03|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|12|
2014|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|10|11|12|
2017|01|02|11|12|
2018|01|02|03|04|07|09|10|11|12|
2019|01|03|04|08|09|10|

クリエイティブ・コモンズ・ライセンス Jun NOGATA を著作者とするこの 作品クリエイティブ・コモンズの 表示 - 継承 4.0 国際 ライセンスで提供されています。