Ubuntuの特定のフレーバーでのみ実行したいbashスクリプトの関数セットがあります。たとえば、Unityを実行している場合、次を実行します。
gsettings set com.canonical.indicator.datetime show-week-numbers true
ただし、Ubuntu GNOMEを実行している場合は次のようになります。
gsettings set org.gnome.Shell.calendar show-weekdate true
同様に、Ubuntuのフレーバーごとに異なるコマンドがあります。
/etc/os-release
のコンテンツを表示しようとしましたが、Ubuntuのフレーバーに関する情報は提供されません。 Ubuntu GNOMEで実行する場合は次のとおりです。
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
端末を使用して実行している認識されたフレーバーを知ることは可能ですか?ライブ環境とインストール済み環境の両方に他のパッケージをインストールせずに、すぐに使用できるソリューションを希望します。どのパッケージがインストールされているかを探すことは可能ですが、その方向への回答を歓迎しますが、私はそのルートには行きたくないでしょう。
これは私が使用するコマンドです。それはいつも私のために働く:
cat /var/log/installer/media-info
出力(私のシステム)は、Kubuntuを実行していることを正しく示しています
Kubuntu 14.04 LTS "Trusty Tahr" - Beta AMD64 (20140326.2)
両方を設定します。すべてを設定します。発射して忘れてください。
設定は他のものに影響を与えないように十分に排他的であるため、安全である必要があります...そして、何が起こっているかを解決する必要があるよりもはるかに簡単ですrun ...可能ですが、それはユーザーが実際に使用しているものを示すものではありません。
次のif
は、Unityを実行しているかどうかを示します。
if [[ "$(ps -ef | grep unity | grep $USER | grep -v grep)" =~ "unity" ]]; then
echo "I'm running Unity";
fi
同じ方法で、GNOMEまたは他のフレーバーを実行しているかどうかを確認できます。重要なことは、最初のgrep
に使用するプロセスの(部分)名です。 区別する必要があります興味のあるフレーバーでのみ常に実行される特定のプロセス。