2019年10月4日金曜日

Libreoffice Drawで多角形を曲線にすると保存できない

たとえば、シルク印刷の絵を書いたりアニメーションを作ったりとか、この回路図までも、Libreoffice Drawで書いている。

先日、あるものを作ろうとまた図を書き始めた。
図を少し書いて保存しようとすると、エラーになって保存できない。
どうも、曲線があると保存ができなくなるように見えた。
今日になって、真剣に調べ始めた。

すると、こんなBugがあるではないか。
Bug 119374 - FILESAVE: Cannot save any file with a bezier curve created from a polygon (Linux-only)
(多角形から作られたベジエ曲線を用いたあらゆるファイルが保存できない)。

Linuxだけで生じるらしい。さらに、普通の(多角形からではない)ベジエ曲線が含まれているだけなら、保存できる。
試しにウチでもやってみたら、まさしくそんな感じだった。
また、Libreoffice 6.0系で発生するが、6.1系では発生しないと書かれている。 ウチのやつを見てみたら、6.0系だった。
どうやらこれが原因のようだ。

6.1で治っているなら、6.0系での修正は行われない可能性が高い。
とはいえ、なんとかしたい。Ubuntu 18.04LTEのパッケージ管理を守りつつ、新しいバージョンをInstallする方法を探した。以下を発見した。
How to Install LibreOffice 6.1 in Ubuntu 18.04, 16.04

2つの方法があり、snapを使う方法と、オフィシャルPPAを使う方法が紹介されている。
同ページでは、オフィシャルPPAを使う方法が推薦されているので、私もオフィシャルPPAを使った。

感単に書くと、まず、ターミナルを開いて、PPAを追加するコマンドを実行する。
sudo add-apt-repository ppa:libreoffice/ppa
パスワードを聞かれたら、パスワードを入力する。

PPAを追加したので、パッケージ管理を更新する。
sudo apt update
ウチの場合は、update後、新しいパッケージが24個が出てきたので、upgradeも行い更新をした。
sudo apt upgrade
これで良いのかなとも思ったが、ここではinstallも行っているので、それに従った。
sudo apt install libreoffice
何気に色々installされた。
何かが足りていなかったのかな?
6.1ではなく、6.3が入った。

試してみると、ベジエ曲線を含んでいても保存できるようになった。
しかし、いつから使えなかったんだろう?

2020/03/27 追記: Libreoffice 6.4にdist-upgradeできなかった
aptで更新をチェックしたら、Libreofficeの新しいのがあると表示された。新しいバージョンのようで、dist-upgrade じゃないと保留されてしまう。
新しいやつでも問題は無いだろうとdist-upgradeしたら、依存関係が解決できずににっちもさっちも行かなくなった。
PPAを使っていると、時々こんな事になるもんだ。
解決するためには、問題を起こした新しいパッケージを削除すればいい。そんなことは言われなくてもわかるだろう。
ところが、1つ1つ消そうとしても、依存関係が問題になって、実行できない。
この場合、その依存物をまとめて一気に削除するしかない。ところが、何がどう依存しているのか解りにくい。
"apt-cache rdepends"で調べることもできるが、インストールしていないものも出たりして、それを選り分けるのも面倒だ。
そのため、たとえば、以下のようにして、エラーメッセージ内から依存物エラーになったパッケージを抽出していく。
最初は、こんなふうに適当に消そうとする。
sudo apt remove libreoffice-base
エラーが出たら(出ているのだが)、
sudo apt remove libreoffice-base | grep "^ [^ ]\+ :" | sed -e "s/ : .*$//g" | sed -e 's/^ \+//g' > xxx.txt
のようにして、エラメッセージ内から、パッケージ名を取り出して、xxx.txtに書く。
今度は書いたものを追加して、削除を試みる。
sudo apt remove libreoffice-base $(< xxx.txt)
それでもエラーになるなら、同じようにパッケージ名を取り出して、xxx.txtに書く。今度は追記で書く。
sudo apt remove libreoffice-base $(< xxx.txt) | grep "^ [^ ]\+ :" | sed -e "s/ : .*$//g" | sed -e 's/^ \+//g' >> xxx.txt
これを何回か繰り返せば、強引に削除できる。
ただし、大事なものも消してしまうかもしれないので、消すものをちゃんとチェックしよう。

ウチの場合は、最終的にxxx.txtは、以下のようになった。
libreoffice
libreoffice-avmedia-backend-gstreamer
libreoffice-base-core
libreoffice-base-drivers
libreoffice-calc
libreoffice-common
libreoffice-core
libreoffice-draw
libreoffice-gnome
libreoffice-gtk3
libreoffice-help-common
libreoffice-help-en-gb
libreoffice-help-en-us
libreoffice-help-ja
libreoffice-impress
libreoffice-java-common
libreoffice-l10n-en-gb
libreoffice-l10n-en-za
libreoffice-l10n-ja
libreoffice-math
libreoffice-nlpsolver
libreoffice-ogltrans
libreoffice-pdfimport
libreoffice-report-builder
libreoffice-report-builder-bin
libreoffice-script-provider-bsh
libreoffice-script-provider-js
libreoffice-script-provider-python
libreoffice-sdbc-firebird
libreoffice-sdbc-mysql
libreoffice-sdbc-postgresql
libreoffice-wiki-publisher
libreoffice-writer
python3-uno
ure
(取得後ソートした)

18.04のデフォルトの Libreoffice 6.0 に戻すとまた曲線が保存できなくなる。
6.0は使えない。そして、6.4はinstallできないので、その途中、例えば6.3を使うことにした。
まず、古いPPAを削除する。これは、update-managerの「他のソフトウエア」タブで、"http://ppa.launchpad.net/libreoffice/ppa/ubuntu bionic main"のチェックを外す。
そして、一旦更新する。これで、そのPPAリポジトリは使われなくなる。

実は、この LibreOffice Freshには、最新版のPPA以外に、6.3(しばらく使っていた)のPPAもある。最新版のPPAは自動的に新しいメジャーリリースになるが、6.3用のものはマイナアップデートだけが行われる。
6.3のPPAのページのやや下の方の Adding this PPA to your system にしたがって、このリポジトリを追加すればいい。
追加後、上記で示したように、Libreofficeをインストールしなおせばいい。

なんか、追記のほうが多いな。

2020/04/01 追記: いつの間にかできるようになったみたい
ノートPCと母艦にInstallしてうまくいっていたので、安心して職場のPCにもLibreOffice6.3をinstallしようとしたら、エラーになってインストールできなかった。
職場ではWindows+Office365なので、すぐに使う予定はない。放置して待つことにした。

母艦のVirtualBox内でFocalを動かして見ている。そっちではLibreOffice6.4が普通に入っていた。
そして、Focalでは、やたらと頻繁にLibreofficeが更新されていた。
もしや、BionicのLibreOffice6.4も更新されているのでは?と思って、リポジトリを再度6.4のものに変更してやってみたら、インストールできた。
ただし、どういうわけか、Libreoffice-writerとLibreoffice-style-elementaryがダウンロードできなかった(混み合っているのかな?)ので、wgetで無理やりダウンロードして、 /ver/cache/apt/archives/の下に置いて、ファイル名を以下のように書き換えて、apt-get installしたら、インストールできた。

Libreoffice-writer:
変更前 libreoffice-writer_6.4.2-0ubuntu0.18.04.3_amd64.deb
変更後 libreoffice-writer_1%3a6.4.2-0ubuntu0.18.04.3_amd64.deb

Libreoffice-style-elementary:
変更前 libreoffice-style-elementary_6.4.2-0ubuntu0.18.04.3_all.deb
変更後 libreoffice-style-elementary_1%3a6.4.2-0ubuntu0.18.04.3_all.deb

こんな書き換えをしなくても、このページで説明されている方法を使って、すんなりできた時もあった。
新型コロナウイルスで、テレワークをしている人も多いだろう。自宅ではWindowsではなくてUbuntu+Libreofficeを使っている人も多いだろう。それでダウンロードできないとなると、すごく困ることになる。
そのせいか、ダウンロードがすごく遅い。
待つことができるなら、しばらく待ってダウンロードするのが良いかもしれない。

0 件のコメント:

コメントを投稿