FVWM3の最新をGitHubよりインストールする。
https://github.com/fvwmorg/fvwm3
#!/bin/bash
# ユーザーのキー入力を待つ関数
pause() {
read -n1 -r -p "$1" key
echo
}
echo "FVWM3のインストールを開始します。"
# 必要なパッケージをインストール
echo "必要なパッケージをインストールしています..."
sudo apt update
sudo apt install -y libevent-dev libx11-dev libxrandr-dev libxrender-dev libxt-dev libxft-dev asciidoctor \
libfontconfig-dev libfreetype6-dev libfribidi-dev libncurses5-dev libpng-dev libreadline-dev \
librsvg2-dev libsm-dev libxcursor-dev libxext-dev libxi-dev libxpm-dev sharutils
pause "パッケージのインストールが完了しました。続行するにはキーを押してください..."
# 'fvwm3'ディレクトリが存在するか確認
if [ -d "fvwm3" ]; then
echo "'fvwm3'ディレクトリが既に存在します。"
# ディレクトリがGitリポジトリか確認
if [ -d "fvwm3/.git" ]; then
echo "既存のディレクトリはGitリポジトリです。"
while true; do
read -p "最新の変更を取得するために'git pull'を実行しますか? (y/n): " yn
case $yn in
[Yy]* ) cd fvwm3; git pull; break;;
[Nn]* ) echo "既存の状態で続行します。"; cd fvwm3; break;;
* ) echo "はい(y)かいいえ(n)でお答えください。";;
esac
done
else
echo "既存のディレクトリはGitリポジトリではありません。"
while true; do
read -p "ディレクトリを削除して再クローンしますか? (y/n): " yn
case $yn in
[Yy]* ) rm -rf fvwm3; echo "ディレクトリを削除しました。"; break;;
[Nn]* ) echo "処理を中止します。スクリプトを終了します。"; exit 1;;
* ) echo "はい(y)かいいえ(n)でお答えください。";;
esac
done
# GitからFVWM3をクローン
echo "FVWM3のリポジトリをクローンしています..."
git clone https://github.com/fvwmorg/fvwm3.git
pause "リポジトリのクローンが完了しました。続行するにはキーを押してください..."
cd fvwm3
fi
else
# GitからFVWM3をクローン
echo "FVWM3のリポジトリをクローンしています..."
git clone https://github.com/fvwmorg/fvwm3.git
pause "リポジトリのクローンが完了しました。続行するにはキーを押してください..."
cd fvwm3
fi
# autogen.shを実行
echo "autogen.shを実行しています..."
./autogen.sh
pause "autogen.shの実行が完了しました。続行するにはキーを押してください..."
# コンパイルオプションを環境変数で設定
echo "コンパイルオプションを設定しています..."
export CPPFLAGS="-march=native -O2"
export CFLAGS="-march=native -O2"
# configureを実行
echo "configureを実行しています..."
./configure --enable-mandoc --enable-golang --enable-htmldoc
pause "configureが完了しました。続行するにはキーを押してください..."
# ビルドを実行
echo "FVWM3をビルドしています..."
make clean
make -j$(nproc)
pause "ビルドが完了しました。続行するにはキーを押してください..."
# インストールを実行
echo "FVWM3をインストールしています..."
sudo make install
echo "FVWM3のインストールが完了しました。"
-
- 使用方法
新しいファイルを作成し、例えばinstall_fvwm3.shという名前を付けます。 - 上記のスクリプトをそのファイルにコピーします。
- スクリプトに実行権限を与えます。
chmod +x install_fvwm3.sh
- スクリプトを実行します。
./install_fvwm3.sh
各ステップで進捗が表示され、続行する前にキー入力を求められます。これにより、各段階でプロセスを確認できます。
注意事項:
- スクリプト内でsudoを使用しているため、実行時にパスワードの入力が求められる場合があります。
- スクリプトは現在のディレクトリにfvwm3というディレクトリを作成します。
- 必要に応じて、スクリプトの内容を変更して環境に合わせてください。
- 使用方法