この記事では、使われていないコンピュータを使用して、独自の図書館を構築する方法について説明します。ソフトウェアの操作は、Proxmox VE 内の Debian 12 仮想マシンで Calibre をインストールして実行することが主な操作です。これには、X11 転送の設定と Qt プラグインエラーの解決も含まれます。
1. Debian 12 仮想マシンの作成と設定#
- Proxmox VE Web インターフェースにログインします。
- 仮想マシンの作成:
- 「仮想マシンの作成」をクリックします。
- 仮想マシンの基本情報(例:名前)を入力します。
- 「オペレーティングシステム」タブで「Linux」を選択し、Debian 12 の ISO ファイル(Debian 公式ウェブサイトからダウンロードできます)を選択します。
- CPU、メモリ、ディスク、ネットワークなどのハードウェア設定を構成します。
- ウィザードを完了し、仮想マシンを作成します。
- Debian 12 をインストールするために、仮想マシンを起動します。
2. システムの更新と必要なソフトウェアのインストール#
Debian 12 仮想マシンにログインし、システムパッケージを更新し、必要なソフトウェアパッケージをインストールします。
sudo apt update
sudo apt upgrade -y
sudo apt install -y xorg openbox xauth x11-apps libxcb-xinerama0
3. Calibre のインストール#
公式に推奨されているスクリプトを使用して、最新バージョンの Calibre をインストールします。
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
4. X11 転送の設定#
ローカルコンピュータ上#
- Windows:
- Xming または VcXsrv をインストール:
- Xming をダウンロードしてインストールするか、VcXsrv をダウンロードしてインストールします。
- Xming または VcXsrv を起動します。
- PuTTY を設定:
- PuTTY を開きます。
- 「Session」ページで、仮想マシンの IP アドレスを入力します。
- 左側のメニューで、「Connection -> SSH -> X11」に移動します。
- 「Enable X11 forwarding」にチェックを入れます。
- 「Session」ページに戻り、仮想マシンに接続します。
- Xming または VcXsrv をインストール:
- macOS/Linux:
-
XQuartz をインストールして起動(macOS):
- XQuartz をダウンロードしてインストールします。
- XQuartz を起動します。
-
SSH 接続して X11 転送を有効にする:
ssh -X user@your-debian-vm-ip
-
Debian 仮想マシン上#
-
DISPLAY 変数を確認:
echo $DISPLAY
出力が
localhost:10.0
または:0
に似ていることを確認します。 -
X11 アプリケーションのテスト実行:
xeyes
X11 アプリケーションウィンドウが正常に表示されることを確認します。
5. Calibre の実行と Qt プラグインエラーの解決#
Calibre を実行する際に Qt プラグインエラーが発生した場合は、必要な依存関係がインストールされていることを確認してください。
-
Calibre を実行:
calibre
エラーが続く場合は、次のライブラリをインストールしてください:
sudo apt install -y libxcb-xinerama0
-
Calibre を再実行:
calibre
6. VNC を使用したグラフィカルインターフェースアクセス(オプション)#
X11 転送に問題がある場合は、VNC を使用してグラフィカルインターフェースにアクセスすることができます。
-
VNC サーバーのインストール:
sudo apt install -y tightvncserver
-
VNC サーバーの起動:
vncserver :1
-
VNC クライアントの設定:
- ローカルコンピュータに VNC クライアント(例:TightVNC Viewer)をインストールします。
- バーチャルマシンの VNC サーバーに接続し、アドレス形式は
your-debian-vm-ip:5901
です。
-
VNC セッションで Calibre を実行:
calibre
これらの具体的な手順に従うことで、Proxmox VE 内の Debian 12 仮想マシンで Calibre を正常にインストールして実行できるはずです。問題が発生した場合は、各ステップの設定を注意深く確認し、すべての依存関係が正しくインストールされていることを確認してください。
PuTTY で X11 転送を設定する際には、以下の手順に従って設定を行い、リモート Linux サーバーでグラフィカルインターフェースプログラムを正常に実行し、それらのプログラムのグラフィカルインターフェースをローカルの Windows システムに表示できるようにしてください。
ステップ 1:サーバー側の設定#
- 必要なソフトウェアパッケージをインストール:
-
Linux サーバー上で、
xterm
(または他のグラフィカルインターフェースプログラム)とxauth
プログラムがインストールされていることを確認します。これらのプログラムは通常、パッケージマネージャー(yum
やapt-get
など)を使用してインストールできます。 -
たとえば、CentOS では、次のコマンドを使用してインストールできます:
sudo yum install xterm xauth
-
Ubuntu では、次のコマンドを使用してインストールできます:
sudo apt-get install xterm xauth
-
- SSH サービスを設定:
- SSH サービスの設定ファイルである
/etc/ssh/sshd_config
を編集し、X11 転送が有効になっていることを確認します。X11Forwarding
という行を見つけ、その値をyes
に設定します。 - 変更を適用するために SSH サービスを再起動します。これは通常、
sudo systemctl restart sshd
などのコマンドを実行することで行われます(具体的なコマンドは使用している Linux ディストリビューションにより異なります)。
- SSH サービスの設定ファイルである
ステップ 2:デスクトップ側の設定#
- Xming をダウンロードしてインストール:
- Xming は、Windows 上で実行される X サーバーであり、リモート Linux サーバーでグラフィカルインターフェースプログラムを SSH 接続を介して実行し、それらのプログラムのグラフィカルインターフェースをローカルの Windows システムに表示することができます。
- Xming の公式ウェブサイト(http://www.straightrunning.com/XmingNotes/)や SourceForge ページ(http://sourceforge.net/projects/xming/)から Xming のインストーラをダウンロードできます。
- ダウンロードした後、インストーラの指示に従ってインストールします。
- PuTTY を設定して X11 転送を有効にする:
- PuTTY プログラムを開きます。
- 「Host Name (or IP address)」フィールドにリモート Linux サーバーの IP アドレスまたはホスト名を入力します。
- 左側のナビゲーションバーで、「Connection」->「SSH」->「X11」を展開します。
- 右側のパネルで、「Enable X11 forwarding」のチェックボックスをオンにします。
- (オプション)「X display location」フィールドに
localhost:0.0
またはlocalhost:10.0
(設定と要件に応じて)を入力します。通常、localhost:0.0
がデフォルトの設定ですが、一部の場合では他の値を使用する必要があります。 - 「Open」ボタンをクリックして SSH 接続を確立します。
ステップ 3:X11 転送のテスト#
- リモートサーバーにログイン:
- PuTTY で設定した資格情報(ユーザー名とパスワードまたは秘密鍵)を使用して、リモート Linux サーバーにログインします。
- グラフィカルインターフェースプログラムを実行:
- リモートサーバーにログインしたら、
xterm
などのグラフィカルインターフェースプログラムを実行して、X11 転送が正常に機能しているかどうかをテストできます。 - ターミナルに
xterm
コマンドを入力し、Enter キーを押します。すべてが正常であれば、新しいxterm
ウィンドウがローカルの Windows システムに表示されるはずです。
- リモートサーバーにログインしたら、
もしxterm
ウィンドウや他のグラフィカルインターフェースプログラムが正常に表示された場合、おめでとうございます!PuTTY を X11 転送に設定することに成功しました。これで、SSH 接続を介してリモート Linux サーバーで任意のグラフィカルインターフェースプログラムを実行し、それらのプログラムのグラフィカルインターフェースをローカルの Windows システムに表示することができます。