web-dev-qa-db-ja.com

端末を使用して実行している認識されたフレーバーを知ることは可能ですか?

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/"

端末を使用して実行している認識されたフレーバーを知ることは可能ですか?ライブ環境とインストール済み環境の両方に他のパッケージをインストールせずに、すぐに使用できるソリューションを希望します。どのパッケージがインストールされているかを探すことは可能ですが、その方向への回答を歓迎しますが、私はそのルートには行きたくないでしょう。

7
Aditya

これは私が使用するコマンドです。それはいつも私のために働く:

cat /var/log/installer/media-info 

出力(私のシステム)は、Kubuntuを実行していることを正しく示しています

Kubuntu 14.04 LTS "Trusty Tahr" - Beta AMD64 (20140326.2)
11
cshubhamrao

多分KubuntuXubuntuLubuntuなど。 Oliterdon コメントとしてインストールできるのはKubuntuが、デスクトップとしてXFCEを実行しています。

そのため、環境変数XDG_CURRENT_DESKTOPの値を取得して、現在のデスクトップが何を実行しているかを知ることができます。

例えば:

  • echo $XDG_CURRENT_DESKTOP

注:
変数の値は、Unity、GNOME、XFCE、KDE、LXDE、Pantheon(Elementary os)。

お役に立てれば。

6
Roman Raguet

両方を設定します。すべてを設定します。発射して忘れてください。

設定は他のものに影響を与えないように十分に排他的であるため、安全である必要があります...そして、何が起こっているかを解決する必要があるよりもはるかに簡単ですrun ...可能ですが、それはユーザーが実際に使用しているものを示すものではありません。

2
Oli

次のifは、Unityを実行しているかどうかを示します。

if [[ "$(ps -ef | grep unity | grep $USER | grep -v grep)" =~ "unity" ]]; then 
    echo "I'm running Unity"; 
fi

同じ方法で、GNOMEまたは他のフレーバーを実行しているかどうかを確認できます。重要なことは、最初のgrepに使用するプロセスの(部分)名です。 区別する必要があります興味のあるフレーバーでのみ常に実行される特定のプロセス。

0
Radu Rădeanu