snapが怪しい…

イメージ
メインマシンの Ubuntu26.04が固まる 通常のUpdateを行なって、再起動が必要というので再起動を実施。 gdmのログイン画面は表示される ユーザ選択 パスワード入力 デスクトップに切り替わる途中で固まる マウスは動作せず キーボードは反応する あれ?タイミングの問題かな?と思い再度実施するが、改善はしない。 どうやら最後のUpdateが問題っぽい。 ということで、GRUBメニューからSafe Mode(Netoworkあり+root)で起動する 記憶では、Linux-Kernel関係が7.0.0-29に上がっていた表示を見ているので、前の7.0.0-28に戻す。 改善せず ちなみにメインマシンの環境は Ubuntu26.04(64GB) + GeForce3060(8GB) + デュアルディスプレイ SSD(1TB+2TB) , HDD(4TB)という構成 一応、sshでの接続はできるので、MacBookからリモートでこの状況のログを確認しながら作業する。 ログを渡してGeminiに確認するが、nvidiaのドライバと、kernel7.0.0-29の問題と指摘される。 まぁ過去にもアップデート後にドライバ入れ直すことは多々あったので、またかぁ…という感じ。 そこで、open版に入れ直したり、バージョン変えたり…。 どれもだめ。 結局3時間ほど粘ったが改善せず。

LibreOfficeでconvert

WEBシステムでの帳票出力

今回の案件で、案外苦労したのが最終的な帳票出力。
WEB系なので、方法が限られている。

CSVダウンロード→Excelのマクロ→PDF

という仕組みで、一部動かしてみた。
でもExcelのマクロが案外遅いのと、VBAが思いの外、面倒くさい。

で、良い方法がないかと探っていたのだけれど、LibreOfficeがxlsx→pdfやdoc→pdfに使えるらしいので、試してみる。

クラウドマシンでXをどうするか

とりあえず、sshでいつものように入り込んで作業する。

# yum install libreoffice libreoffice-langpack-ja
でサックリと入る。

色々と調べると、XやDesktop、GNOMEかKDEを入れろという。
必要であればVNC Serverも?

うむむ、何だか完全にDesktop環境を構築しないといけないのか?と思いつつも少し作業を行う。

一通り、入れて試しに動かしてみるが、案の定エラーが出る。
X11 error: Can't open display:
    Set DISPLAY environment variable, use -display option
    or check permissions of your X-Server
    (See "man X" resp. "man xhost" for details)
はいはい、Xの設定はしていないですよ。
でも、もともとサーバマシンだし、Xなんてリモートでしか使わないけど、今回はX無しでLibreOffice使いたいわけだし…。

どうしようか困りながらも、あちこち読み進めてみる。

ここに、ありました。

By searching the web I found a WIKI entry at alfresco saying that there needs to be installed a package called openoffice.org-headless. This installes a OOO plugin which is required to make the -headless commandline option work! After installing this package the X11 error message is gone!

So for all on CentOS you need to run:

yum install openoffice.org-headless

Problem solved, hope it may help others too!!

Thanks again for your inputs!

Tom

ふむふむ、OpenOfficeのWikiによると、これで解決したらしい。

早速、LibreOfficeはどうなっているか調べてみると、https://wiki.documentfoundation.org/Development/HeadlessBuild

むむむ、一応、X無しでも動作するらしいけれど、buildしないといけないかも…。

でも、yum のパッケージが出ているとの情報があったので、ラッキー。

# yum install libreoffice-headless
で、OKらしい。

試しに、変換をかけてみる。
$ libreoffice --headless --nologo --nofirststartwizard --convert-to pdf sample.xlsx

これで、同じディレクトリにsample.pdfを生成してくれる。

ちなみに、異なるディレクトリへの出力は、
$ libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir /tmp sample.xlsx

のように、ディレクトリを指定すればOK。ただ、--convert-to の後に--outdirを書かないと、そんなオプション知らないとか言われてorz

これで、コマンドライン上で、各種OfficeデータをPDFに変換できそう。
あとは、Fontの違いを上手く吸収できるか?という面倒な話が残って入るが…。

もう少し格闘してみる。


コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!