トップ 最新 追記

Days of Speed

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



2021-04-07

_ 2月、3月のオープンソース活動など

2月、3月はオープンソースソフトウェアを使ったことをいろいろやってたので、まとめてみる。

  • Raspberry PiとOpenWrtを使ってルーターづくり(仕事)
  • Proxmox VEで既存サーバー置き換えのための仮想化基盤を準備(仕事)
  • Flat-File CMSのBluditのドキュメント翻訳
  • ボクセルRPG VelorenのUI翻訳
  • What Can I Do For LibreOfficeのメッセージが分離されていない部分を分離して翻訳
  • LibreOfficeのVCL.xcuの見直し (途中)
  • LibreOfficeの和風月名のパッチを直してくれたみたいで入ってた

OpenWrtとProxmoxは仕事だったけど、OpenWrtは、無線LANに使うルーターで「Radius認証したい」という話だったけど、一気にそこまでは無理なので後から仕込めるような形でRaspberry PiとOpenWrtで作りました。時間を見つけて、FreeRadius対応をやってみるつもり。

Proxmox VEはサーバーリプレースの話があって、サーバー自体大したことやっていないのに、PC 1台をそのために使うのももったいないと思ったのと、将来的にいろいろ仕込めるようにということでProxmoxで置き換えました。しかし、ネットワークの設定で大ハマリ。もうちょっと勉強しないと。

Bluditのドキュメントは、以前、途中までやってたものを思うところがあって全部訳した。しかし、読んでみると時間が経ってから翻訳したので最初の方と後の方で文章に揺らぎがある。「これはそのままでは送れないな」と思ったので、チェックしてから送るつもり。

Velorenは、Cube Worldに似たRPGゲームです。たまたま見かけて遊ぼうとしたら日本語が入ってなかったので、調べてみるとフォントの設定を追加すると日本語が出せることが判明。弟に見せたところ反応も良かったので一気に翻訳したら取り込まれました。

が、しかし。スキルの部分とかヤッツケなところもあるし、翻訳迷って未翻訳のまま出したところもあるので、遊んで、その辺を直してもらえるとありがたいです。

What Can I Do For LibreOfficeは、翻訳したけどメッセージが分離されてなくて翻訳できない部分がありました。それを直して翻訳したけど、一気に送ったら「分けてください」とのことだったので、もう一度やり直し(しょんぼり)

それで、今見てるのはImpressのフォントのフォールバックが相変わらずおかしいし、Macのフォントが文字化けするということで、盲腸のように残っているVCL.xcuを見直してます。

今、ビルドしてるけどImpressでアジア諸言語にSansSerifが出た!しかし、これは…。原因追求します。

あと、年末年始に書いてたパッチの一つに、Calcの順列リストに睦月、如月とか和風月名を入れるというのを出していたけど、それを直して取り込んでくれたみたいです。よかったー

それにしても、よくやったと思ったので軽い気持ちで書き出したけど、ワシ、めっちゃくちゃ頑張ってるやん…。


2021-04-11

_ LibreOffice Impressに埋め込んだ動画の再生を制御する

先日、ひょうごんテックがセミナーを開くというのでLibreOfficeについて話をしました。(4月20日にも話をするので、参加してください。申込みはこちら https://www.kokuchpro.com/event/techcafe/ )。

そのとき、スマホのCollabora Officeで編集する画面を見せたかったので、動画を撮ってImpressに埋め込んだものを再生したのですが、動画が再生されたのはいいけれど止める手段がなくてアタフタしてしまいました。

ということで埋め込んだ動画の再生を制御する方法を調べたのでメモ。

  1. メニュー[挿入]→[オーディオまたはビデオ]から動画を挿入
  2. サイドバーの「アニメーション」を開く
  3. 埋め込んだ動画を選択して、アニメーションを2つ追加。
    1. カテゴリー「その他の効果」、効果「一時停止の切り替え」、開始「直前の動作の後」
    2. カテゴリー「その他の効果」、効果「一時停止の切り替え」、開始「クリック時」

こんな感じで動画に2つ登録されていればOK。

アニメーション

これで画面を切り替えた瞬間に動画が止まって、クリックすると再生という動作になります。

それにしても、ビデオコントロールができないのはヒドイなと思って検索をしていたら、Bugzillaがひっかかったのだけど、この問題10年選手のバグですか…


2021-04-12

_ LibreOfficeスタートセンター履歴のサムネイル表示を無効にする

「LibreOfficeのスタートセンターにサムネイルで履歴が表示されるのがイヤ」という人を見かけたので、表示を無効にする方法を書いておきます。

  1. メニューバー[ツール]→[オプション]を開く
  2. オプション画面のLibreOffice→詳細設定から「上級者向け設定」を開く
  3. 「RecentDocsThumbnail」で検索する
  4. 見つかったプロパティをダブルクリックして「true」から「false」にする

2021-04-13

_ 【2021年令和3年進化型最新版】LinuxでOBS Studioと仮想カメラを使う方法

思い返せば去年、オンライン授業とかなんとかあったのでLinuxで仮想カメラとOBS Studioを使う方法を書きましたが1年経って知見も溜まったので今のセットアップ方法を書いておきます。

v4l2loopbackのインストール

v4l2loopbackは、インストール済みなら飛ばして、インストールしていない場合は必須なので以下の方法でインストールしてください。Debian/UbuntuではパッケージがあるのでaptでインストールするだけでOKです。

 $ sudo apt install v4l2loopback-dkms v4l2loopback-utils

インストールしたら、modprobeでカーネルに組み込みます。

 $ sudo /usr/sbin/modprobe v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" exclusive_caps=1

毎回使うなら /etc/modprobe.d/v4l2loopback.conf というファイルを作って以下を追記しておきます。

 options v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" exclusive_caps=1

OBS Studioのインストール

OBSは、debパッケージ版、Flatpak版Snap版と複数のパッケージシステムで利用できますが、現時点ではSnap版を使うのが一番良いです。理由は、外部プラグインを含めてほぼ全部入りパッケージだから。

自分はデスクトップアプリの利用はFlatpak推しですが、OBSのFlatpak版は仮想カメラが利用できなかったりパッケージシステムの制約による不具合がいろいろあってオススメしにくい状態です。Snap版は最新版が利用できる上に仮想カメラなどもすぐに使える状態なので現状、Snap版を使うのが一番ラクに使えるのではと思います。

Snap版OBS Studioを利用するにはSnapdが必要なのでインストールします。

 $ sudo apt install snapd

そして、snapからOBS Studioをインストールします。

 $ sudo snap install obs-studio

インストールをしたあと、パッケージの権限を許可する必要があるので以下も実行しておきます。

 $ sudo snap connect obs-studio:audio-record
 $ sudo snap connect obs-studio:avahi-control
 $ sudo snap connect obs-studio:camera
 $ sudo snap connect obs-studio:kernel-module-observe

これで、いろんな機能が入ったOBS Studioが使えます。


2021-04-18

_ 【2021年令和3年超進化決定版】LibreOfficeの初回起動メッセージを表示しないようにするには

以前書いた、「LibreOfficeの初期設定を変更したい場合は、設定を変更する拡張機能を作ってインストールしよう」と「LibreOfficeの初期設定を変更したい場合はどうする?」の続きです。

長かった。これで全部無効にできます。

というのも7.0から情報バーを無効にする設定が入ったので、それをセットすれば無効にできるようになったから。

使いたい人は、githubに置いている拡張機能DisableFirstRun.oxtを、unopkgでインストールしてください。 詳しいインストールなどは、リンク先のREADMEを見てください。

それで今回、追記した設定は、この行。

   <item oor:path="/org.openoffice.Setup/Product"><prop oor:name="LastTimeDonateShown" oor:op="fuse"><value>2147483646</value></prop></item>
   <item oor:path="/org.openoffice.Setup/Product"><prop oor:name="LastTimeGetInvolvedShown" oor:op="fuse"><value>2147483646</value></prop></item>
   <item oor:path="/org.openoffice.Office.UI.Infobar/Enabled"><prop oor:name="Donate" oor:op="fuse"><value>false</value></prop></item>
   <item oor:path="/org.openoffice.Office.UI.Infobar/Enabled"><prop oor:name="GetInvolved" oor:op="fuse"><value>false</value></prop></item>
   <item oor:path="/org.openoffice.Office.UI.Infobar/Enabled"><prop oor:name="HyphenationMissing" oor:op="fuse"><value>false</value></prop></item>
   <item oor:path="/org.openoffice.Office.UI.Infobar/Enabled"><prop oor:name="Readonly" oor:op="fuse"><value>false</value></prop></item>
   <item oor:path="/org.openoffice.Office.UI.Infobar/Enabled"><prop oor:name="Signature" oor:op="fuse"><value>false</value></prop></item>
   <item oor:path="/org.openoffice.Office.UI.Infobar/Enabled"><prop oor:name="WhatsNew" oor:op="fuse"><value>false</value></prop></item>

上から2行は以前、記事にも書いた日数を2038年にして無効にする設定で、それ以降の行は7.0以降に入ったスイッチの設定です。6.4まででも使えると思うけれど、とりあえず7.0以降用ということで。

それにしても長かった…。


2021-04-23

_ 【2021年版】macOSでLibreOfficeをビルドする

macOSでLibreOfficeをビルドする方法のメモです。ビルドが通ったので、もう一度、make cleanしてビルドし直したら2回目はビルドが通らないとか謎現象にぶち当たって解決できていないけど解明する気がないので転がしておきます。(追記: ビルドが通るようになったので、ここに書いてあることをそのまま試しても大丈夫です。

Xcodeのインストール

XcodeはMac App Storeからインストールします(要Apple ID)。インストールしたら一度、起動して利用許諾に同意しておきます。プロジェクトなどを作る必要はありません。

Command line tools for Xcodeのインストール

下のコマンドでインストールします。

 % xcode-select --install

「インストールをしますか?」とダイアログが出るのでOKしてインストールします。インストールが終わったら、下のコマンドでパスの確認をしておきます。

 % xcode-select -p

Xcodeのパスになっていなければ、-sオプションでXcodeになるように切り替えておきます。

 % sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

AdoptOpenJDKのインストール

AdoptOpenJDKのサイトから、OpenJDKをダウンロードしてインストールします。

パッケージは、アクセスしてデフォルトで選ばれている、OpenJDK 11(LTS)のHotSpotで大丈夫です。 パッケージのインストール方法は、ダウンロードしたパッケージをダブルクリックするだけなので問題なくインストールできるはずです。

インストールしたら、~/.zshrcに以下のように環境変数JAVA_HOMEを追記します。

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

LODEをインストール

LODEは、WindowsとmacOSでLibreOfficeのビルド環境を作ってくれるシェルスクリプトです。詳しくはTDF WikiのLODEの説明を見てください。

最初にLODEをgit cloneします。cloneの場所ですが、LODEの階層が深くなると面倒なのでホームディレクトリ直下にしましょう。(面倒でなければ自分の好きなところで構いません。)

 % cd ~/
 % git clone https://gerrit.libreoffice.org/lode

cloneしたらlodeのディレクトリにあるsetupを実行します。

 % cd lode
 % ./setup

LibreOfficeのビルドに必要なものをダウンロードしてコンパイル、インストールするので少しの間、待ってください。 待ってる間に必要な環境変数を設定します。設定は、~/.zshrcにパスとccacheの設定を追記します。

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home (上で追加したもの)
 export LODE_HOME=$HOME/lode
 export PATH="$LODE_HOME/opt/bin:$PATH"
 export CCACHE_CPP2=yes

ccacheのキャッシュを30GBに増量しておきます。

 % ccache --max-size 30G

LODEのセットアップが終われば、いったんターミナルを終了して起動し直します。そして、exportを実行して上で設定したパスが追加されているか確認しておきます。

 % export

 (環境変数が表示されるので、上の設定が入っているか確認する)

問題がなければ、インストールした~/lodeディレクトリに移動してLibreOfficeのソースコードをcloneします。これも時間がかかるので気長に待ちます。

 % cd $LODE_HOME
 % ./setup --dev --force

ビルド設定とビルド

セットアップが終われば、lodeディレクトリの中にツールとLibreOfficeのソースコードが揃ったので、LibreOfficeのソースコードの場所に移動します。そして、autogen.inputファイルを作成してビルドオプションを設定します。

 % cd dev/code/
 % vi autogen.input

autogen.inputの設定は、こんな感じです。

 --with-distro=LibreOfficeMacOSX
 --with-lang=ja en-US
 --enable-debug
 --enable-sal-log
 --disable-odk
 --without-help
 --without-doxygen
 --without-myspell-dicts
 --disable-breakpad
 --disable-online-update
 CC=clang
 CXX=clang++

--with-distroは、オプションをいい感じに設定してくれるので入れます。--with-distroで設定するOS名は、ソースコードの中のdistro-configsディレクトリの中にあります。

langはjaだけだとWarning出まくりでビルド途中で打ち切られてしまうのでen-USも追加します。

CCとCXXは明示的にclangを指定しておかないとうまく動かないので入れてます。

--enable-sal-logはhimajinさんに教えてもらったので入れてます。sal-logでログを書き出す設定については、「LibreOfficeでprintfデバッグみたいに変数の値をログに出力する方法」を参照。

ビルドの設定ができたので、autogen.shを実行してビルドオプションを反映、makeを実行すればLibreOfficeをビルドが始まります。 ビルドだけでなくテストも実行する場合は、makeをmake checkに変更してください。

 % ./autogen.sh
 % make 2>&1 | tee buildlog.$(date "+%Y%m%d%H%M%S")

ビルドがうまくできればバイナリの実行ですが、macの場合は以下のコマンドで実行できます。

 % open instdir/LibreOfficeDev.app

ひととおり終われば

第一関門を突破できたので、あとは~/lode/dev/codeのソースコードをgit pullすればソースを更新できます。

ビルドは、上のようにすればビルドできますが、一度ビルドを終わらせていれば更新部分以外はビルドし直さないので、初回に比べると時間がかからずできるはずです。


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|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|

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