2021/07/13

Ubuntuのファイルマネージャーから古いNASに接続する

UbuntuのファイルマネージャーからウチにあるNASに接続できなかったので、できるようにしました。

ウチにあるNASが LINKSTATION LS-XL で、もう10年前くらいのやつなんで、

SAMBAのプロトコルがむっちゃ古いんだろうなというのは判ってました。

ちなみに、Windows XPの延長サポートが2014年なんで、それぐらいまでのNASは SMB 1.0 とか使ってるのかも。

だた、UbutnuのファイルマネージャーのWindows共有に関する設定ってのはどこにあるんだろう?

と思って調べたら、やはり普通にSAMBAの設定を使っているっぽい。

/etc/samba/smb.conf を編集すれば良さそう。

 

そこで、 グローバルセクション([global] 以下の部分)に、以下を追記しました。

client min protocol = NT1

で、ファイルマネージャーから NASのファイルが見れることを確認しました。

client min protocol については、 日本Sambaユーザ会のマニュアル  が詳しいです。

 

| | コメント (0)

2021/06/14

OpenMSX を ビルドする。

WindowsXP 時代の小型ノートPC libretto U100 に Xubuntu 18.04 と OpenMSX を入れて MSX環境として使用しています。

が、Xubuntu 18.04 の OpenMSX 0.14.0 には バグがあって、ステートセーブができないのです。これは ビルド時のTCLと環境が異なっているのが問題だそうで、ソースからビルドすると解消するとのことです。よって、最新のUbuntuでは解消しているそうです。

が、Xubuntu の 32bit サポートが 18.04 までなので、なんとかこれを使うしか無い、でもステートセーブを使いたい。

そんなわけで、Xubuntu 18.04(32bit版)で OpenMSX をビルドしてみました。

まず、ビルドに必要なパッケージを入れます。

Synaptic を使ってパッケージ build-essential を入れました。

最新のソースからビルドしようと思って git も入れたのですが、後述しますが最新版で問題が発生しました。結局、GITから旧バージョンのソースのtarを取得してビルドしました。

 

OpenMSXは英語のマニュアルが充実しており、コンパイル方法についても openMSX Compilation Guide  に詳しく記載されています。

ソースは GitHubのリリースページ  にあります。

最初は、openMSX Compilation Guide に記載されている、Git Clone を作る方法で行いました

 

ソースを持ってきて「4.1 Compilation」の記載どおりに

$ ./configure

とすると、依存関係のチェックをやってくれます。ここで no と出力されたライブラリを入れます。

マニュアルを見ると解りにくいのですが、ビルドをするので、devパッケージが必要です。

私の環境だと、

libasound2-dev
zlib1g-dev
libglew-dev
libogg-dev
libpng-dev
libtheora-dev
libvorbis-div
libsdl2-ttf-dev
tcl-dev

を入れる必要がありました。

しかし、この状態でも SDL_ttf が no になります。パッケージは入っているのになあ。

問題がある場合は derived/x86-linux-i686/config/probe.log を見るようにと出ているのでこのログを見てみると、SDL_ttf がインクルードできていないようです。

ネットで調べると、SDL_ttf のヘッダーファイルは /usr/include/SDL2/ 配下にあるにもかかわらず、パスは /usr/include/ を見ているからだそうです。

仕方が無いので、/usr/include/SDL2/ にあるヘッダーファイルのリンクを /usr/include/ に作成しました。

$ cd /usr/include

$ sudo ln -s ./SDL2/SDL*.h ./

$ sudo ln -s ./SDL2/begin_code/h ./

$ sudo ln -s ./SDL2/close_code/h ./

ようやく、

$ ./configure

で全て yes になりました!これで make できるはず!

$ make

で make すると、今度は

#include <charconv>

include できずにエラーになりました。

configure 通ったのになんでじゃあ!?

と思って調べてみると、charconv  は gcc Version 8 から使えるらしい。

Version 7でコンパイルできないことがバグ報告されており、マニュアルに記載しました!と回答されていたので確認したら、確かに

The GNU C++ compiler. Version 8 or later is required to build openMSX.

と記載されていました。

$ gcc --version

とすると、7.5.0 って出てきました。

だめじゃん・・・。

 

Xubuntu 18.04 の OpenMSX は 0.14.0 なので、GitHubのリリースページ から最新版ではなく、0.14.0 のソースを持ってきて

$ ./configure

とすると、今度は、SDL、SDL_ttf のリンクでエラーになりました。ライブラリの問題なんだろうか???

今度は 0.15.0 のソースを持ってきましたが、結果は 0.14.0 と同様。

最後の頼みの 16.0(このバージョンから先頭の0が無くなる)を持ってきた所、

$ ./configure

が通りました!

$ make

とすると、コンパイルが始まりました!どうやらうまくいったようです。ふ~。助かった。依存関係ってむっちゃ怖いなあ。

超非力マシンなんで、2時間ぐらいかけてコンパイルが完了。長い!って思うけど、その裏にはそれだけ分のコードを書いた人がいるってことだよね。

$ sudo make install

とすると、 /opt/openMSX にインストールされました。

 

さて、動作確認です。

Xubuntu 18.04 で普通にインストールできる openMSX Catapult を起動して、設定で /opt/openMSX/bin/openmsx を選択した所、エラーが!

どうやら、0.14.0用のカタパルトで16.0を動かしたからっぽいです。

がーん、カタパルトもコンパイルする必要があるのか!

 

とりあえず、ターミナルから openmsx を単体で動かして(C-BIOSで起動しますが)、ステートセーブができることは確認できました。いちおう目的は達成できそうだ。

さて、カタパルトもコンパイルしなくては・・・。

カタパルトについてもマニュアルがちゃんとあって、コンパイルは Catapult Compilation Guide  に記載されています。

カタパルトは http://openmsx.org/ から 17.0 のものを持ってきました。

カタパルトは新しいものからは古いopenMSXを起動できるのは経験上知っているので、問題無いだろうと。

不足しているパッケージ

libwxgtk3.0-dev

ibxml2-dev

を Synaptic でインストールし、config・・ っていきなり make でいいのか!?

$ make

すると、無事コンパイルされました。こちらは簡単でした。

$ sudo make install

とすると、/opt/openMSX-Catapult にインストールされます。

ターミナルから /opt/openMSX-Catapult/bin/catapult を起動すると、カタパルトが起動します。

カタパルトの setting → Edit Configuration で、/opt/openMSX/bin/openmsx を選択すると 起動しました! ステートセーブもきちんとできます!

これで libretto U100 は MSXエミュマシンとして活躍できます!

うまく動いたのを確認した所で、さきほどやむなく作った余計なリンクを削除します。

$ cd /usr/include

$ sudo rm ./SDL*.h

$ sudo rm ./begin_code/h

$ sudo rm ./close_code/h

これで完璧。

 

| | コメント (0)

2019/05/03

PC-LL750RG に Ubuntu18.04LTS をインストールしてハマる

実家からもらった NECのノートパソコン LaVie L LL750/RG 型番 PC-LL750RG なんですが、メモリーが4Gありました。
子供がフレバーじゃない素のUbuntuを使ってみたいと言ってるし、Core 2 Duo で メモリ4Gあったら、普通のUbuntuでもサクサクじゃんね。と思って、Ubuntu18.04LTS を入れることにしました。

日経Linuxの2018年7月号の付録に、豪華なパッケージに入ってたインストールDVDあったなあと思い、今こそ使うときと思ってインストールを進めました。

・・・ところが、インストール用のDVDが途中で止まってしまうのです。
drm_kms_helper が flip_done timed out ってERROR 吐いて止まってしまいます。
ネットで調べた所、こんなページを見つけました。
ubuntu forums Issue with KMS / Xorg with Intel GM965 chipset
かなり古い記事ですが、症状は似ています。
PC-LL750RG も Intel GM965 チップセットだからなあ。
GRUBのカーネルパラメータに video=SVIDEO-1:d を設定したらOKだったとのことなので、インストール用のDVD起動時にカーネルパラメータに
video=SVIDEO-1:d
を追加して起動したら、正常にインストーラが起動して、インストールも正常に終了しました。
インストーラ起動時の選択画面でeキー押したら設定ファイルが表示されるので、 quiet splash という文字をたよりにカーネルパラメータの場所を特定し、 video=SVIDEO-1:d を追加する流れです。

が、インストールした Ubuntu18.04LTS を起動すると当然同じ症状が発生します。
すごく待たされますが、いちおうログインしてデスクトップが表示される所までは行くので、GRUBのカーネルパラメータを追加することになります。
やり方は、ここの記事が詳しかったです。
Ask Ubuntu Boot very slow because of drm_kms_helper errors

sudo nano /etc/default/grub
でGRUBの設定ファイルを開いて、
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=SVIDEO-1:d"
みたいな感じでカーネルパラメータに video=SVIDEO-1:d を追加。
sudo update-grub
で設定を反映して、再起動、という流れです。

これで正常に起動するようになりました。

このカーネルパラメータの意味に興味があったので調べた所、以下の記事がありました。
archlinux Intel Graphics
詳しくは解らないのですが、チップセットのドライバだかなんだかが、いまだに低解像度のSVIDEO関連の設定を持っているものだから、これを明示的に無効にするようにしなければいけないという所なんでしょうか。


トラブったけど、その後Ubuntuは問題無く動いています。
普段 UbuntuMATE を使っているので知らなかったのですが、Ubuntuソフトウェア では Urban Terror とかのゲームがSnapパッケージになっているんですね。
この前にUbuntuMATEに入れようとしてパッケージ無いからオフィシャルからダウンロードしたっけなあ。
Snapだったらインストール簡単だしらくちんだよなあ。
Minecraft も ランチャーをSnapパッケージにしてくれているし、しかも内包されているJavaのバージョンが11ではなく8なのには感動しました。
8でないと外部サーバにうまく繋がらないバージョンがあるんですよ。
パッケージャの人!よく解ってる!!

| | コメント (0)

2019/05/02

PC-LL750RG の修理

実家で使っていたパソコンの電源が入らなくなったとのことで、貰ってきました。

機種は、NECのノートパソコン LaVie L LL750/RG 型番 PC-LL750RG です。

電源スイッチを押してもうんともすんとも言わないので、電源周りかと思いアダプターをテスターで調べたら通電していない。

 

そこで代替のアダプターを買ってきました。ELECOMの ACDC-NE1500BK です。

アダプターを繋ぐと、充電ランプが付いたのでOKです。

早速パソコンを起動したのですが、起動しているようなのだけど画面が真っ暗。

よーく見ると、うっすらと画面が表示されています。

うわー。バックライトか。これはダメなやつかも。

デュアルディスプレーにしたら使えるかもと思い、モニターを繋いだらモニターではちゃんと映ります。

この運用で使うか、とも思いましたが、そもそもOS起動しないとモニターには何も映らないので、OS入れ替えとかできないじゃん・・・。

やっぱ、画面映らないとだめだよなあ・・・と思いつつ何度か触っているうちに、正常に画面が表示されるようになりました。

直った????と思って一旦シャットダウンし、再度起動するとやっぱり画面が真っ暗のまま起動する。

でも正常に表示される場合があったということは、バックライトの問題ではなさそうです。

 

訳が解らずネットで調べたところ、こんなページを見つけました。

NEC製パソコン 画面が真っ暗! LL750/RG を修理する

おお、まさにこの現象だ。どうやら、PC-LL750RG には元々、アダプター繋いだ時のバックライト用のコンデンサーに問題があるようで、コンデンサーの経年劣化によりバックライトが点かなくなるらしい。

これ、バックライトの問題だと思う人、たくさんいるだろうなあ。

アダプター接続時のコンデンサーの問題なので、バッテリーで起動すると正常に表示されるっぽい。

つまりさっきバックライトが点いたのは、いろいろ触っているうちにバッテリーに充電されて、たまたまアダプターを外したまま起動したからっぽい。

試しに、アダプターを抜いてバッテリーだけで動かしたら、普通にバックライトが点いた状態で起動しました。

 

修理するためには、半田ごてを使ってマザーボード上のコンデンサーを物理的に新品に取り換える必要があり難易度高め。

部品代数百円なのにー!! ちなみに修理に出すと1万円ぐらいだろう。

メーカー修理だとマザー交換なんでとんでもない値段になるらしい。

 

Vistaパソコンにそこまで掛けられねーと思い、バッテリー起動なら普通に動くので、起動時にアダプターを抜いて、起動してからアダプターを差す運用で行くことにしました。

ってなことを何回か繰り返しているうちに、アダプター繋いだままでも普通に起動するようになりました。

訳わからないのですが、コンデンサーの蓄電状態により何らかの問題がでるのかもしれないなあ。

いずれにせよ、普通に使えるようになったので、よかったよかった。

 

で、このパソコンにUbuntuを入れたら問題が発生したので、それは次回書きます。

| | コメント (0)

2018/11/04

Ubuntu18.04 で Assault Cube を動かす

うちの子がFPSをやってみたいと言うので、UbuntuにNexuiz を入れて遊んでました。
Nexuiz は Ubuntu ならソフトウェアセンターからインストールできるし、UbuntuMATE でも Software Boutique からインストールできるので、お気軽にFPSができます。
ネット対戦とかLAN内対戦とかもできるし、一人プレイもそれなりに楽しく、良くできたフリーのゲームだと思います。

が、さすがに飽きてきて、リアル系のFPSがやりたい!と言うようになりました。
Steam入れて探したりしたのですが、フリーとなるとなかなか見つからない。
Counter-Strike: Global Offensive Free Edition を入れてみたものの、原因不明で動かず。

ネットでいろいろ探したら、AssaultCube ってのが遊びやすいってことで、入れてみることにしました。
AssaultCubeの公式サイトから Linux版をダウンロードすると、AssaultCube_v1.2.0.2.tar.bz2 がダウンロードされるので、ホームディレクトリなどでtar.bz2を展開します。

展開したディレクトリに assaultcube.sh があるので、これを実行すれば起動します。

が・・・。エラーが発生しました。

libcurl.so.4: version `CURL_OPENSSL_3' not found

なんかこれ見たことある。
ePSXeが動かなくなったのと同じエラーだ。

ePSXeを動かすのに使った、libcurl.so.4 (libcurl3_7.58.0-2ubuntu2_amd64.deb の libcurl.so.4.5.0 を libcurl.so.4 にファイル名を変更したもの)をコピーして assaultcube.sh のあるフォルダに置き、
assaultcube.sh の最初の方に
export LD_PRELOAD=./libcurl.so.4
と記載してライブラリを強制的に読み込むようにして起動させると、問題なく動きました。

かなり古いゲームですが、今でもネット対戦している人がいて、けっこう遊べます。


| | コメント (0) | トラックバック (0)

Ubuntu18.04 で Minecraft1.8.9 を起動する

Ubuntu18.04でマイクラやってるうちの子は、Skywarsサーバが好きなのですが、マイクラのバージョンを1.8.9にすると繋げないという問題が発生していました。

バージョン1.8とか、最新版(1.13.2)にすれば問題無いので、しばらくそれで遊んでいたのですが、使いたいモーションブラーMODが1.8.9用のため、どうしても1.8.9でつなぎたいと言うので調べてみました。

海外の情報で、Java8 だったらうまくいくよ という情報を見つけて試してみたら、繋げました。
マイクラのプロファイルで、openjdk8 を使うように設定します。

accessibility.properties の assistive_technologies=org.GNOME.Accessibility.AtkWrapper をコメントアウトするのはopenjdk11と同じです。


ついでに、MODの入れ方を書いておきます。
基本的にJava版の設定で行けるので、Windows版の記事を参考にすれば良いのですが、Forge のインストールがexe版の記載しか無いので困ると思います。
でも、Linuxでも簡単で、Installer版(Windows Installer版ではなく)をダウンロードすればOK。
ダウンロードしたjarファイルに実行属性を付けてダブルクリックすれば、jreで実行するか聞いてくるのでOKすると、インストールが始まります。
インストール先選択で、ホームディレクトリ配下の .minecraft ディレクトリが選択されているはずなので、そこにインストールすればForgeが入ります。
マインクラフトを起動し、マイクラのバージョン選択にインストールしたForgeが出ていれば成功です。
その後のMODの入れ方はWindows版と同じです。

この辺の記事
PC 版 Minecraft に MOD を導入する方法
とか参考になると思います。
ポイントはバニラ環境を残して、Forge用のディレクトリを作ってそこにMODを入れるところですかね。

| | コメント (0) | トラックバック (0)

2018/10/27

Ubuntu MATE 18.04 で Ubuntu MATE Welcome をインストールする

Ubuntu MATE をアップグレードすると、Ubuntu MATE 18.04 で Ubuntu MATE Welcome とか Software Boutique が使えなくなります。
Ubuntu MATE Welcome が snap になったからっぽい。

Ubuntu MATE Welcome っていうか、Software Boutique はけっこう愛用していたので使いたいなと思い調べてみました。
以下のコマンドでインストール可能。

snap install --classic ubuntu-mate-welcome

snapコマンドは、sudo がいらないんだなあ。

ちなみに、インストールしてもソフトの一覧には表示されていないのですが、
システム→コントロールセンターから起動できます。


| | コメント (0) | トラックバック (0)

2018/08/25

またまた Ubuntu18.04 で Minecraft が動かなくなってハマる。

先日、Ubuntu MATE 18.04 をアップデートしたら、またまた Minecraft が動かなくなりました。

前回は起動パラメータを修正して回避しましたが、今回はなんか症状が違います。Minecraft 起動直後にすぐに落ちます。

ターミナルからMinecraftを起動した所、以下のエラーが。
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper

Javaのこんなエラー、今まで見たこともない。
そもそも、org.GNOME.Accessibility.AtkWrapper の GNOME って何? GNOME限定の機能ってこと?JavaにGNOME用の機能があるのか!?

解らないことだらけなので、ネットで調べたら、同じように Ubuntu で Minecraft ができない!と言っている人がたくさんいました。
でも、みんな外国人なんだけど・・・。日本人でLinuxでマイクラやってる人はいないのか!?

で、解決法が載ってました。
/etc/java-11-openjdk/accessibility.properties

assistive_technologies=org.GNOME.Accessibility.AtkWrapper
をコメントアウト(行の先頭に#をつける。)しろ、というものでした。
この通りにファイルを修正すると、問題なく Minecraft が起動するようになりました。

で、org.GNOME.Accessibility.AtkWrapper って何なのだ?
いろいろ調べてみたのですが、いまいち解らず。

解っていることは、openjdk-11-jre-headless には GUI関連の実装が無いらしく、Java SwingイベントをATKが理解できるイベントに変換するものなんだそうです。

ネットでは、openjdk-11-jre-headless ではなくて openjdk-11-jre をインストール するように!という回答もあったのですが、openjdk-11-jre も openjdk-11-jre-headless も入っているんですよね。
しかも、openjdk-11-jre って openjdk-11-jre-headless に依存していないか?
また、よく解らないのが、なんでインストールしていないパッケージが設定ファイルに書かれているのか?
根本的に解らないのが、なんで今まで正常に動いていた Minecraft が急に起動しなくなってしまったのか?

原因はよく解らないままなんですが、とりあえず解決はしました。

| | コメント (0) | トラックバック (0)

2018/05/20

Ubuntu18.04 にアップグレードしたら ePSXe が動かなくなってハマる。

Ubuntu を 17.10→18.04 にアップグレードしたら ePSXe が起動しなくなったので、その解決方法を書きます。

マイクラでハマった Ubuntu 18.04 ですが、今度は ePSXe でハマりました。

ePSXe を起動しようとしても起動しない。
コマンドから起動すると、
libcurl.so.4: version `CURL_OPENSSL_3' not found
とエラーが出ました。
なんだ。共有ライブラリ不足か。と、最初は軽く考えていました。
ネットで検索するとハマっている人がけっこういて、Arch Linux では libcurl-compat を入れるといいよ、みたいな回答がありました。
Ubuntuでは パッケージ libcurl3 に CURL_OPENSSL_3 が あるそうなんで、これを入れれば解決しそうです。

ってなわけで、Synapticからインストールしようとしたのですが、競合してるんでいろんなパッケージを削除していいですか?ってな展開になりました。ダメだろう!削除しては!

なんか問題は思っていたより深刻みたいでした。
Ubuntu の launchpad でも問題になっていました。
libcurl3 をインストールしたら、virtualbox とか Opera とか勝手に削除されたんですけどー!
Ubuntu公式パッケージじゃないから知らねーよ。開発者に相談してくれよ。はい終了。
おいおい、これバグだろ。せめてリリースノートに書くとかしろよ。多くのパッケージはまだlibcurl3を使ってるよ。
・・・みたいな展開になっているんだと思います。

問題の根本は、libcurl3 と libcurl4 で libcurl.so.4 が競合しているにもかかわらず、2つのライブラリの仕様が異なっているためのようです。
うーん、どうしたものか。

共有ライブラリをアプリ固有で指定できないのか調べた所、環境変数 LD_PRELOAD に ライブラリを指定すれば、強制的にそれを読み込んでくれるそうです。
libcurl3_7.58.0-2ubuntu2_amd64.deb をダウンロードしてきて、そこに入っている libcurl.so.4.5.0 を libcurl.so.4 に名前を変えて ePSXe のディレクトリに置いて、同じディレクトリに以下のようなシェルスクリプトを作成する。

# /bin/bash
export LD_PRELOAD=./libcurl.so.4
echo $LD_PRELOAD
./epsxe_x64

で、このシェルスクリプトを起動すると、無事 ePSXe が起動しました。
うーん、Ubuntu18.04 って本当に LTS なのか?

| | コメント (0) | トラックバック (0)

Ubuntu18.04 にアップグレードしたら Minecraft が動かなくなってハマる。

Ubuntu18.04 がリリースされたので、アップグレードしたらマイクラが動かなくなったので解決方法を書きます。

我が家では子供用のPCに UbuntuMATE をいれて、そこにマイクラをインストールして遊ばせています。
16.10の時にはUbuntuのパッケージにマインクラフトのインストーラが有り、そこからオフィシャルのパッケージをインストールしていました。

UbuntuMATE を 17.10→18.04 にアップグレードした所、マイクラが動かなくなりました。Minecraftランチャーは起動するのですが、プロファイルを選択して実行すると
Unrecognized VM option 'CMSIncrementalMode'
Error: Could not create the Java Virtual Machine.
とエラーが出て起動しなくなります。
今回のアップグレードでOpenJDKが11になっているので、なんとなくそれがらみだということは判りましたが、プロファイルの設定でJREを8にしても解決せず。

ネットで検索しても解決方法がなかなか見つからなかったのですが、Minecraft WIKI に解決方法が載っていました。
Note: Minecraft will not run with Java 9 or greater unless you remove -XX:+CMSIncrementalMode from your JVM Arguments.
なんと! パラメータ -XX:+CMSIncrementalMode を消せと!

プロファイルの設定画面でJavaの起動パラメータを使用するようにチェックし、パラメータに記載されている -XX:+CMSIncrementalMode を削除した所、無事動きました。

これ、日本の Minecraft WIKI には載っていないんですよ。
英語圏の人はここに情報があるからハマる人は少なくてあんまり情報が無いのかな。
誰か翻訳してー。。。。
Javaをアップグレードすると、古いプロファイルで影響が出るので、これからハマる人が出てくるのではないかな。

でも、こうなることを予測してJavaの起動パラメータを簡単に変更できるような仕様にしている MOJANG は偉い!
eclipseも見習え!(笑)

| | コメント (0) | トラックバック (0)

«openMSX でテープの読み込み速度を早くする