Monthly Archives: 11月 2019

今さら Ubuntu (γ)

さてさて、考えていても先に進まないし、手をこまねいてばかりも

おられないので、検索しまくって、libX11.so.6 が、libx11-6のパッケージに

属していることを突きとめました。

$ sudo apt-get install libx11-6:i386

を実行。続いて

$ sudo apt-get install libxext6:i386

を実行。

$ cd /usr/local/bin

$ ldd ./DiCE/dice

linux-gate.so.1 (0xf7f5b000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7dbe000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7c74000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c55000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c50000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7a74000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf73dd000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf73b1000)
/lib/ld-linux.so.2 (0xf7f5c000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf739c000)
libSM.so.6 => not found
libICE.so.6 => not found
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xf7214000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7112000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf710e000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7107000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf70e9000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf70ce000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf70c4000)

残りは、三個

$ sudo apt install libsm6:i386

$ ldd ./DiCE/dice

linux-gate.so.1 (0xf7fce000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7e31000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7ce7000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7cc8000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7cc3000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7ae7000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf7450000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7424000)
/lib/ld-linux.so.2 (0xf7fcf000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf740f000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf7406000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf73ea000)
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xf7262000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7160000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf715c000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7155000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf714c000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf7131000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7113000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7109000)

あと、ひとつ!

$ sudo apt-get install libjpeg62:i386

$ ldd ./DiCE/dice

linux-gate.so.1 (0xf7f35000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7d98000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7c4e000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c2f000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c2a000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7a4e000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf73b7000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf738b000)
/lib/ld-linux.so.2 (0xf7f36000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf7376000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf736d000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf7351000)
libjpeg.so.62 => /usr/lib/i386-linux-gnu/libjpeg.so.62 (0xf7329000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xf71a3000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf70a1000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf709d000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7096000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf708d000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf7072000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7054000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf704a000)

ついに、完了!

次に、DiCE の設定です。

最初に、IP addressの取得の問題を解決。

:setup

IPアドレスの検出方法は、(2) 外部のスクリプトから検出

スクリプトのURL は、http://www.dyndns.org/cgi-bin/check_ip.cgi

として設定します。

次に、DiCE でIPアドレスを自動登録させたいダイナミックドメインサービスを

:add

で、イベントとして追加します。

:exit

で、一旦、終了して

$ sudo /usr/local/bin/DiCE/diced -d -l

で、「バックグラウンドで実行」「ログを作成する」の起動オプションを

つけて、DiCE (CUI版) を起動します。続けて

$ sudo /usr/local/bin/DiCE/dice

で、DiCE (GUI版) を起動します。

じゃーん!できました。今回も、再起動時の自動起動については先送りです。

※ 端末から $ sudo /usr/local/bin/DiCE/dice で、DiCE (GUI版) を起動すると

実行しっぱなしになって、端末を閉じたら DiCE (GUI版) は強制終了に

なりますねぇ。この問題の解決に取り組むためには、一度シャットダウンさせる

必要があるので、早くとも、明晩以降のことになります。

今さら Ubuntu (β)

さて、インターネット上のファイルをダウンロードするために、

外付けHDD(USB)を繋いだら、自動的に「ボリューム」に

マウントされるということは、確認済み。しかし、さすがに

NTFS を読むことはできません。

そういえば、exFAT も読めないことも確認済みでした。

今さら Ubuntu (3)の中でやり残したことがありました。

$ sudo apt install exfat-fuse exfat-utils

↑↑↑ を実行したら、NTFS も読み込めるようになってました。

ラッキー ♪

3個ほど、ダウンロードを開始したので、次は、

DiCE for Linux のインストールと設定です。

必要なファイルは、↓↓↓ から、すでにダウンロードしています。

http://www.hi-ho.ne.jp/yoshihiro_e/dice/linux.html

diced000.tar.gz  — CUI版インストールイメージファイル
xdice000.tar.gz  — GUI版差分 (TL7以外では動作確認していませんのでその他の環境では動かないことがあります)

しかし、せっかくですから、もう一度、ダウンロードしてみます。

まず、

sudo chown ユーザー名. /usr/local/bin

で、ダウンロードするディレクトリの所有権を変更して

おかねばなりません。あとは、FireFOX で DiCE for Linux の

ページを開いて上の二つのファイルをダウンロードするだけです。

ダウンロードは、瞬時に完了するはずですから、

$ cd /usr/local/bin

$ sudo tar xzvf diced01914.tar.gz

$ sudo tar xzvf xdice017.tar.gz

で、展開できます。

DiCE は、32ビットアプリなので、64ビット機でも 32 ビットアプリを

動作させるためのパッケージをインストールします。

$ sudo apt-get install lib32stdc++6

ここまでで、DiCE for Linux の CUI版 のインストールは完了です。

Tera Term からだと文字化けしてしまうので、

Ubuntu機 の端末を開いて

端末メニュー -> 文字コードの設定 -> 日本語 (EUC-JP) を選択してから、

$ sudo /usr/local/bin/DiCE/diced
として、
:help
すれば、

起動オプションやコマンド一覧が表示されるので、

イベントを追加して、:start で開始できます。

しかし、GUI版 を動かすためには、必要なライブラリを

入手しなければなりません。

$ sudo chown ユーザー名. /usr/lib

で、所有権を変更しておいてから、ここから、/usr/lib に

libqtintf.so.gz と libqt.so.2.gz をダウンロードします。

Ubuntu機 のファイル (Nautilus) で /usr/lib を開き、

ダウンロードできた libqtintf.so.gz と libqt.so.2.gz を

それぞれ、右クリック  → ここに展開する

で、 libqtintf.so と libqt.so.2 が、 /usr/lib に解凍されます。

libqtintf.so.gz と libqt.so.2.gz はゴミ箱に移動しておきましょう。

ファイル (Nautilus)というファイルマネージャーは、

Windows のエクスプローラ感覚でファイルを操作でき、

エクスプローラでは、できないことも、あれこれできる

そうなので、Ubuntu機 をWindows 7 代わりに使うつもりの方は

マスターしておいて損はないと思われます。

解凍できたら、

$ sudo ldconfig

を実行してライブラリパスを更新しておきます。

さて、DiCE が必要とするライブラリは、 libqtintf.so と libqt.so.2 を

入手する以前は、

linux-gate.so.1 (0xf7fb5000)
libqtintf.so => not found
libX11.so.6 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f7e000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7f79000)
libc.so.6 => /lib32/libc.so.6 (0xf7da0000)
/lib/ld-linux.so.2 (0xf7fb6000)

でしたが、入手後は、

linux-gate.so.1 (0xf7f3d000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7da1000)
libX11.so.6 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7d82000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7d7d000)
libc.so.6 => /lib32/libc.so.6 (0xf7ba4000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf750d000)
/lib/ld-linux.so.2 (0xf7f3e000)
libXext.so.6 => not found
libX11.so.6 => not found
libSM.so.6 => not found
libICE.so.6 => not found
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => not found
libm.so.6 => /lib32/libm.so.6 (0xf7440000)

となりました。げげ。not found が増えてる!

ところで、DiCE が必要とするライブラリを調べるには

Tera Term のカレントディレクトリを /usr/local/bin にして

$ ldd ./DiCE/dice

で、OKです。

次は、「libstdc++6」を導入しなければならないようなのですが

よくわからないので、ここから、Windows 機で

libstdc++6_5.4.0-6ubuntu1~16.04.12_i386.deb

を USB メモリにダウンロード。

Ubuntu機に、その USB メモリを挿してファイル (Nautilus)で

ダウンロードフォルダにコピー

$ cd /home/ユーザー名/ダウンロード

で、カレントディレクトリを変更して

$ sudo apt install ./libstdc++6_5.4.0-6ubuntu1~16.04.12_i386.deb

としてみましたが、

パッケージリストを読み込んでいます… 完了
依存関係ツリーを作成しています
状態情報を読み取っています… 完了
注意、’./libstdc++6_5.4.0-6ubuntu1~16.04.12_i386.deb’ の代わりに ‘libstdc++6:i386’ を選択します
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
libstdc++6:i386 : 依存: gcc-5-base:i386 (= 5.4.0-6ubuntu1~16.04.12) しかし、イ ンストールされようとしていません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

というようなことになりました。

$ sudo ldconfig

を実行して

$ cd /usr/local/bin

$ sudo ln -s /usr/lib32/libstdc++.so.6 /usr/lib/libstdc++-libc6.1-1.so.2

$ sudo ldconfig

$ ldd ./DiCE/dice

その結果、とりあえず、

linux-gate.so.1 (0xf7fb7000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7e1a000)
libX11.so.6 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7dfb000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7df6000)
libc.so.6 => /lib32/libc.so.6 (0xf7c1d000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf7586000)
/lib/ld-linux.so.2 (0xf7fb8000)
libXext.so.6 => not found
libX11.so.6 => not found
libSM.so.6 => not found
libICE.so.6 => not found
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xf73fe000)
libm.so.6 => /lib32/libm.so.6 (0xf7333000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7315000)

 

libstdc++-libc6.1-1.so.2 については、見つかったことになりました。

しかし、前回は、すんなりインストールできていたのに

libXext.so.6 => not found
libX11.so.6 => not found

と、なぜなっちゃったのかが、どうしてもわかりません。

しかも、libX11.so.6 => not found は、二つも!

果たして、「今さら Ubuntu (γ)」に続くことができるのか……

今さら Ubuntu (α)

今さら Ubuntu (1)~(9)により、曲がりなりにも

Ubuntu でやろうとしたことができるようになったので

そのまま、しばらくは使ってみようと思っていました。

ところが、あろうことに、cr447.xyz というマルウェアに

感染してしまったので、Windows なら除去できると

思いますが、Ubuntu では自信がないので、いっそのこと

クリーンインストールすることにしました。

そうすれば、cr447.xyz だけじゃなく、迷い込んで

不要な物をインストールしたり余分な設定をしたりしたことも

クリアできますからね。

インストールディスクは作成済みですから、手っ取り早いの

ですが、インストールの所要時間は30分を超えたと思います。

前回はスルーした Livepatch を今回はセットアップすることに

しました。

英語が苦手なため、シングルサインオンアカウントの登録に

少しばかり手間取りました。

sshで接続・ログインできるようにすることが最優先なので

まずは、パッケージ管理の一つである「aptitude」をインストールします。

$ sudo apt-get install aptitude

次は、ssh のパッケージをインストール。

$ sudo aptitude install ssh

設定ファイルを開きます。

$ sudo vi /etc/ssh/sshd_config

設定ファイルの何行目かに

#PermitRootLogin prohibit-password

という行があるので、その行の上に

PermitRootLogin no

という行を付け加えて、設定ファイルを閉じます。

これで、Windows 機から Tera Term を使って

Ubuntu ノートパソコンを操作できるようになりました。

次に、アクティビティ画面を開き、privacy またはプライバシーと

入力し、 プライバシーをクリックして設定パネルを開きました。

自動画面ロックをオフにして、電源管理でブランクスクリーンを

「しない」に設定しました。常に有線で使うので Wi-Fi も

オフにしました。

以上で、「今さら Ubuntu (1)~(3)」の部分が完了しました。

今さら Ubuntu (9)

今さら Ubuntu (8)の

》$ sudo vi /etc/rc.local

》で、rc.local に

》/usr/local/bin/DiCE/diced -d -l
》/usr/local/bin/DiCE/dice

》の2行を書き加えるだけ。めでたし。めでたし。

は、ダメでした。Ubuntu 機を再起動させたところ、自動起動できて

いませんでした。

また、DiCE CUI版によって、イベントが実行されたら

DiCE GUI版 が、更新されるのかと思っていたら、

手動で「最新の情報に更新」を実行しないと反映されないことが

わかりました。

まあ、要するに、まだ、ボロボロの状態ですが、手動で起動して

手動で状態確認してやれば、Ubuntu機にやらせたいことは

できるということなので、当面、このままで行こうかなと

思ってます。なんだか、すみません。

今さら Ubuntu (8)

さて、IP アドレスの取得と文字化けという二つの壁が立ちふさがったのですが、

優先度から、IP アドレスを片付けてから文字化けに取りかかるという順番かなあと

思ったのですが、逆でした。二つとも、答えは、ここ にあったのですが

文字化け対策をしてからでないと、IP アドレスを取得するための設定が

非常に困難だったのです。リンク先ページの一番下

》gnome 端末の端末メニュー -> 文字コードの設定 -> 日本語 (EUC-JP) を選択してから、
》$ sudo /usr/local/bin/DiCE/diced
》として、
》:help
》すれば、正常に日本語表示されますよ。

という箇所をそのまま実行したら、ちゃんと日本語になってました。

続いて、ページの中ほどの「DiCEのIP addressの取得に問題がありました。」から

始まる koisan1949 さんの記事を参考にして、

:setup

IPアドレスの検出方法を(2) 外部のスクリプトから検出

スクリプトのURL は、http://www.dyndns.org/cgi-bin/check_ip.cgi

として設定すれば、

IPアドレスの検出をテストしますか? (Y/N)
>y

で、ちゃんと IPアドレスが検出されました!!

続いて、必要なイベントを追加していけば、設定完了。

おお!すばらしい!

めでたし。めでたし。……なのですが、最後にDiCEの自動起動及びデーモン動作

$ /usr/local/bin/DiCE/diced -d -l

で、DiCEをデーモン起動する(「-d」 デーモン動作 「-l」 ログを取る)のは簡単。

問題は、自動起動。ほとんどの解説ページには、/etc/rc.d/rc.local の最後に

1行書き加えればいいじゃん。って書いてあるのだけど、Ubuntu 18.04 LTS には、

/etc/rc.d/rc.local が、ないじゃん。

検索、検索。。。

なければ、作ればいいらしいのだけど、はて?どうやって?

さらに、検索、検索。。。

答えは、<a href=”https://blog.goo.ne.jp/nog44/e/43fe446e547f0c09db549c0af29c0098″ target=”_blank” rel=”noopener noreferrer”>ここ</a> にありました。ほぼ、丸ごと引用します。

<strong>》/etc/rc.localファイルを作成。</strong>

》sudo vi /etc/rc.local

<strong>》実行可能ファイルにする</strong>

》sudo chmod u+x /etc/rc.local

<strong>》systemdで起動させる設定をおこなう。</strong>

》cd /etc/systemd/system

》sudo cp /lib/systemd/system/rc-local.service .

》cd multi-user.target.wants

》sudo ln -s ../rc-local.service

私は、↑↑↑ の通りにしました。あとは、

$ sudo vi /etc/rc.local

で、rc.local に

/usr/local/bin/DiCE/diced -d -l
/usr/local/bin/DiCE/dice

の2行を書き加えるだけ。めでたし。めでたし。

今さら Ubuntu (7)

昨夜は、こりゃダメだ!と、あきらめムードが濃厚な中、

とりあえず、あと2個。しかも、そのひとつは入手しているっぽい。

……に、たどり着いたところで、ギブアップ!深夜の就寝。

今夜は、まず、libstdc++-libc6.1-1.so.2 をどうやって入手するかという課題に

取り組みました。

検索して、いろんなページを読んでいくと、

$ sudo apt-get install lib32stdc++6

で、32bit 系のライブラリを用意してやれば解決すると書いてるページを

見つけました。すると、

lib32stdc++6 はすでに最新バージョン (8.3.0-6ubuntu1~18.04.1) です。

↑↑↑ と返してきます。すでに、入手済みっぽいのです。

半信半疑ながら、

$ locate libstdc++.so.6

探してみると、

/snap/core/7270/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core/7270/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/snap/core/7270/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/snap/core/8039/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core/8039/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
/snap/core/8039/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py
/snap/core18/1074/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core18/1074/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/snap/core18/1074/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py
/snap/core18/1265/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core18/1265/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/snap/core18/1265/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py
/usr/lib/i386-linux-gnu/libstdc++.so.6
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.25
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/usr/lib32/libstdc++.so.6
/usr/lib32/libstdc++.so.6.0.25
/usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.25-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py
/usr/share/gdb/auto-load/usr/lib32/libstdc++.so.6.0.25-gdb.py

なんだかあるなあ……

/usr/lib/i386-linux-gnu/libstdc++.so.6

↑↑↑ は、32bit 系のライブラリだろうとアタリをつけて、

$ sudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++-libc6.1-1.so.2

を実行してみると、

~ /usr/local/bin$ ldd ./DiCE/dice
linux-gate.so.1 (0xf7fa8000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7e06000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7cbc000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c9d000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c98000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7abc000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf7425000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf73f9000)
/lib/ld-linux.so.2 (0xf7fa9000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf73e4000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf73db000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf73bf000)
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xf7237000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7135000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7131000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf712a000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf7121000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf7106000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf70e8000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf70de000)

おお!libstdc++-libc6.1-1.so.2 は、見つかったと言ってるじゃありませんか。

こうなると、俄然、元気が出てきます。

「libjpeg.so.62」を検索語にして見つけてきたページから、昨夜のうちに

libjpeg62-turbo_1.5.2-2+b1_i386.deb をダウンロードしてきていました。

検索すると、解凍するには、dpkg コマンドを使う……みたいな記述が

ありましたが、直感的にわかるという感じでもなかったので、

ファイルマネージャーで、右クリック、「ここに展開する」を

使いました。

/libjpeg62-turbo_1.5.2-2+b1_i386/data/usr/lib/i386-linux-gun/

の中に、libjpeg.so.62.2.0 は、ありました。ファイルマネージャーを

使って、ダウンロードフォルダにコピー

$ cd /home/[ユーザー名]/ダウンロード

~ /ダウンロード$ sudo mv libjpeg.so.62.2.0 /usr/lib

↑↑↑ /usr/lib に移動させて

~ /ダウンロード$ cd /usr/lib
~ /usr/lib$ sudo ln -s /usr/lib/libjpeg.so.62.2.0 /usr/lib/libjpeg.so.62

↑↑↑ ライブラリの名前が違うので、シンボリックリンクを作成します。

さて……

$ ldd ./DiCE/dice
linux-gate.so.1 (0xf7f81000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7ddf000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7c95000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c76000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c71000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7a95000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf73fe000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf73d2000)
/lib/ld-linux.so.2 (0xf7f82000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf73bd000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf73b4000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf7398000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xf7325000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xf719f000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf709d000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7099000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7092000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf7089000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf706e000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7050000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7046000)

not found が、なくなりました!!!

おそるおそる、ファイルマネージャーからDiCE を実行してみると

苦節、連載7回目にして、やっと、このウィンドウが……

皆さんのおっしゃるとおり見事に文字化けしてますが、

Windows 版と設定方法は同じとのことでしたので、文字化けしてても

さほど苦労しないで設定できますが、IP アドレスの変化がないときに

どのくらいの周期で実行するかを選ぶとき、まったく文字が表示されないので、

それだけは、不便かなと思いました。入力して「保存」ボタンを押すと

文字化けしてるので意味不明の「警告」

はて?とウィンドウをよく見ると、IP アドレスが取得できていません。

まだまだ、旅の途上のようです。

今さら Ubuntu (6)

次の手順としては、本家にも書いてあるQtライブラリ(Version2.2.4) ”libqt.so.2”、

”libqtintf.so”の入手と導入です。

~ $ ldd ./DiCE/diced
linux-gate.so.1 (0xf7fbc000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7f80000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7f7b000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7d9f000)
/lib/ld-linux.so.2 (0xf7fbd000)

~ $ ldd ./DiCE/dice
linux-gate.so.1 (0xf7efe000)
libqtintf.so => not found
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7d97000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7d78000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7d73000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7b97000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7b6b000)
/lib/ld-linux.so.2 (0xf7eff000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf7b67000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7b60000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf7b45000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7b3b000)

libqtintf.so のリンクが切れてることは確認されますが、 libqt.so.2 も必要と

あるので、入手します。参考にした解説ページのダウンロード先は

リック切れだったので、ライブラリ名で検索して、ここ から入手しました。

Windows 10 でダウンロードしてUSBメモリを介して Ubuntu 機の

ダウンロードフォルダにコピーしたところまでは、前回と同じです。

~ /ダウンロード$ gzip -d libqt.so.2.gz
~ /ダウンロード$ gzip -d libqtintf.so.gz

↑↑↑ 展開して

$ sudo mv libqt.so.2 /usr/lib
$ sudo mv libqtintf.so /usr/lib

↑↑↑ /usr/lib に移動しました。

~ /ダウンロード$ cd /usr/local/bin
~ /usr/local/bin$ ldd ./DiCE/dice
linux-gate.so.1 (0xf7f80000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7ddf000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7c95000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7c76000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7c71000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7a95000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf73fe000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf73d2000)
/lib/ld-linux.so.2 (0xf7f81000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf73bd000)
libSM.so.6 => not found
libICE.so.6 => not found
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => not found
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf72b9000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf72b5000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf72ae000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf7293000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7289000)

リンクされましたが、ここで忘れずに、

$ sudo ldconfig

を実行!

$ sudo ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++-libc6.1-1.so.2

↑↑↑ も、やっておかねばならないそうなので、実行!

さあ!それでは、/usr/local/bin/dice を実行!

……おかしいな。何も起きない。

では、/usr/local/bin/diced を実行!

……おかしいな。何も起きない。

もう一度、/usr/local/bin/diced を実行!

やっぱり、何も起きない!(大泣き)

今夜の実況中継は、これまで……と、なりそうです。(涙、涙、涙……)


libSM.so.6 => not found
libICE.so.6 => not found
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => not found


↑↑↑ が、どうしても解決できない……

 


$ sudo apt install libsm6:i386
↑↑↑ で、

~ /usr/local/bin$ ldd ./DiCE/dice

linux-gate.so.1 (0xf7efa000)
libqtintf.so => /usr/lib/libqtintf.so (0xf7d59000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7c0f000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7bf0000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7beb000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7a0f000)
libqt.so.2 => /usr/lib/libqt.so.2 (0xf7378000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf734c000)
/lib/ld-linux.so.2 (0xf7efb000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf7337000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf732e000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf7312000)
libjpeg.so.62 => not found
libstdc++-libc6.1-1.so.2 => not found
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf720e000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf720a000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7203000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf71fa000)
libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf71df000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf71d5000)

 

libSM.so.6 と libICE.so.6 は、解決した?

libjpeg.so.62 は、libjpeg62-turbo_1.5.2-2+b1_i386.deb に入ってるかも。

今さら Ubuntu (5)

「インターネット上のファイルをダウンロードさせる」という目的は、

外付けHDDをUSB接続したら自動的にマウントされるという機能により、

あっという間に達成できました。しかし、「DiCE を走らせる」という

目的を達成するのは、並大抵のことではないだろうと思ってましたが、

思った通りのようで……

どっか、わかりやすく解説してくれてるページはないかなあと探して

みましたが、なかなかありません。あきらめて階段を一段ずつ登ることに

しました。

まず、最初の一段目、必要なファイルをダウンロードします。

http://www.hi-ho.ne.jp/yoshihiro_e/dice/linux.html

本家から、

diced000.tar.gz  —  CUI版インストールイメージファイル
xdice000.tar.gz  —  GUI版差分 (TL7以外では動作確認していませんのでその他の環境では動かないことがあります)

をダウンロードします。どこへ?どうやって?

結論から言うと、/usr/local/bin/ にダウンロードすれば、その後の迷走を

かなり抑えることができたのですが、そこにダウンロードすればいいという

確信できる情報もなく、ダウンロードのやり方も自信がなかったので、

Windows 10 から、USBメモリにダウンロードして、Ubuntu 機に

自動マウントさせて、「ファイル」アプリで「ダウンロード」フォルダに

ドラッグ & ドロップしてやれば、コピーできました。(ホントは、そんなに

簡単な話じゃなくて、いろいろ、試行錯誤した結果、そうなりました)

次は、ダウンロードしたファイルの展開ですが、これまた、試行錯誤を

重ねた結果、

$ cd /home/ユーザー名/ダウンロード

で、ダウンロードフォルダに移動して(ファルダじゃなくディレクトリと

したほうがいいのかな?まあ、もし、この記事を参考にしようとする方が

いらっしゃれば、フォルダのほうが、なじみやすいかも)

$ tar xzvf diced01914.tar.gz

$ tar xzvf xdice017.tar.gz
を実行して展開しました。

$ sudo mv DiCE /usr/local/bin

で、展開できた DiCE フォルダを /usr/local/bin フォルダに移動。

ところで、私の Ubuntu 機は、64ビットなので、32ビットアプリの

DiCE は、そのままでは動きません。そこで、64ビット機でも

32ビットアプリを動作させるためのパッケージをインストールします。

$ sudo apt-get install lib32stdc++6

今夜は、ここまで。この先は、超難解っぽいので、無事に階段を

登って行くことができるのだろうか……

今さら Ubuntu (4)

昨夜は、Windows 10 から、Ubuntu 機にリモートで接続しようと

していますが、なぜか、うまくいきません。

方法は、いくつかあるようですし、それぞれ、解説ページがあるので

その通りにやってるつもりなんですが、接続に失敗してしまいます。

今夜は、Wine の導入にチャレンジしましたが、途中から解説ページの

通りには進まなくなり、挫折。

いろいろ、試すのはいいのだけれど、その過程で中身もわからず、

解説ページに掲載されたシェルスクリプトを実行しているので、

ちょっとずつ、Ubuntu 機の設定などが変更されていってるハズです。

まあ、いろいろ、いぢり倒したら、もう一度クリーンインストールから

やり直すという方法もありかも。あっちに迷い込み、こっちで

行き止まりを繰り返す都度に何とか元の場所に戻ろうと検索を

繰り返すことによって、徐々に知識が身についていくので、

それはそれでアリだと思ってます。

ところで、Ubuntu 18.04 LTS デスクトップを使ってみて、ちょっと

驚いたのが、HDD や USBメモリを繋ぐと、「ボリューム」とか、

「4GB ボリューム」という名前で即座に自動マウントされるのね。

アンマウントも、ファイラーのボリュームなり4GB ボリュームとある

横にアンマウントボタンがあるので、簡単にできちゃいます。

(リモートで接続できれば、図で説明できちゃんだけどな……)

それと、LibreOffice が意外と役立つ予感。昔、OpenOffice が

丸出ダメ夫クンだったので、期待せずに使ってみたら、使えるじゃん。

ただし、スイスイ使えるようになるためには、かなりの習熟が

必要でしょうけど、とりあえず、手持ちの Excel 文書を

読んだり、文字をコピーしたり、簡単な編集をしたりできるので

大いに助かります。

今さら Ubuntu (3)

インストールが完了したので使い出してみました。

最初にやってもらう仕事は「インターネット上のファイルを

ダウンロードする」です。

ファイルの保管場所として、外付けHDDをマウントしなければ

なりませんが、そのための準備や操作をノートパソコンの小さな

画面で行うのは大変です。やはり、メイン機の広い画面を使ったほうが

便利だし、キーボードやマウスの操作がしやすいようにテーブル上の

配置もしているわけで、床に置いた Ubuntu ノートパソコンの

キーボードを打つのは勘弁して欲しい。んなわけで、最初の作業は

sshで接続・ログインできるようにすることでした。

まずは、パッケージ管理の一つである「aptitude」をインストールします。

$ sudo apt-get install aptitude

次は、ssh のパッケージをインストール。

$ sudo aptitude install ssh

設定ファイルを開きます。

$ sudo vi /etc/ssh/sshd_config

設定ファイルの何行目かに

#PermitRootLogin prohibit-password

という行があるので、その行の上に

PermitRootLogin no

という行を付け加えて、設定ファイルを閉じます。

たった、これだけの作業でメイン機から Tera Term を使って

Ubuntu ノートパソコンを操作できるようになりました。

簡明な形で教えてくださった karelie さん、ありがとうございました。

SSH が使えるようにする前に、Ubuntu 18.04 でウィンドウが勝手に

最大化されるのを無効にするために

$ gsettings set org.gnome.mutter auto-maximize false

というのを実行しておきましたが、何がどのように無効になったのか、

実は、よくわかっていません。

ここまでの準備ができたら、ファイルの保存先となる外付けHDD の

マウントです。HDD を繋いで、Tera Term から

$ sudo fdisk -l

とコマンドを打てば、デバイス名が、/dev/sdb1 とわかります。

この外付けHDD は、NTFS でフォーマットしていると思い込んで

マウントしようとしたので失敗ばかりを繰り返しました。

じゃあ、FAT32 ? これも違いました。はてさてと調べていくと

何と、exFAT でフォーマットしてました。

$ sudo apt install exfat-fuse exfat-utils

で、Ubuntu 機が exFAT を扱えるようにして、

$ sudo mount -t exfat /dev/sdb1 /media/usbhdd

/media/usbhdd は、あらかじめ作成しておいたマウントポイントです。

最後に、自動画面ロックをオフにして、電源管理でブランクスクリーンを

「しない」に設定しました。常に有線で使うので Wi-Fi もオフにしました。