web-dev-qa-db-ja.com

ソフトウェアにKDEまたはGNOMEの依存関係があるかどうかを知るにはどうすればよいですか?

デスクトップ非依存アプリとデスクトップ依存アプリがあることを知りました。

Fedoraフォーラムのスレッド Gnome vs KDE applications これがあります:

「KDEアプリ」と「Qtアプリ」、「GNOMEアプリ」と「GTK +アプリ」の違いに留意してください。実際には非常に簡単です。 GTK +とQtは、それぞれGNOMEとKDEに関連付けられたグラフィカルツールキットです(ほとんどの場合、どちらも最近この領域を超えてかなりの数の機能を生成しています)。 onlyがGTK +によって提供されるリソースを使用するアプリは、GTK +アプリですが、GNOMEアプリではありません。 GNOMEをインストールまたは使用するために適切なビットをインストールする必要はありません。 Ditto for Qt and KDE-onlyはQtツールキットを使用し、KDE関数は使用しないようにアプリを記述できます。これはQtアプリですが、KDEアプリではありません。

実際には、「GNOMEアプリ」は「GTK +アプリ」でもあり、「KDEアプリ」は「Qtアプリ」でもありますが、その逆はできません。 GNOMEでQtアプリまたはKDEでGTK +アプリを実行しても、機能が失われることはほとんどなく、GNOMEでKDEアプリまたはKDEでGNOMEアプリを実行するよりも、リソース使用量の増加が少なくなります。特にすべてのFedora構成ツールとPackageKitはGTK +アプリであるため、KDEでGTK +アプリを実行することは特に一般的です。

また、次のことも述べています。

誤ってネイティブでないアプリを使用したり、余分なメモリを使用したり、機能を逃したりしないように、実行するデスクトップからアプリのみをインストールすることを好む人もいます。それは本当に個人的な好みの種類であり、「反対側」のアプリにどれほどひどく依存しているかに依存します。

私はおそらくそれらの人々の一人です。そのため、ソフトウェアをインストールする前に、ソフトウェアに特定のKDEまたはGNOMEデスクトップ環境の依存関係があるかどうかを知る必要があります

KDEアプリはGNOMEでどのように実行できますか? GNOME用に作成されたプログラムはlibgdkおよびlibgtkを使用し、KDEプログラムはlibQtCorelibQtGuiを使用します。

プログラムをインストールする前に、これらの依存関係があるかどうかを簡単に知るにはどうすればよいですか?

プログラムに特定のDE依存関係があるかどうかを知るより良い解決策はありますか?

2
blueray

役に立つかもしれない小さなスクリプトを次に示します。

#!/bin/bash

echo "enter Package"
read Package

apt-cache depends --no-pre-depends --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances $Package | grep -E "(qt|gtk|kde)"

私はそれをzzxxと呼び、〜/ binに保存しましたmy$ PATHそして実行可能にしました。 〜/ bin$ PATHにない場合、 $HOME/path/to/script/zzxxを使用できます(そしてエイリアスを作成します)。

サンプル出力:

$ zzxx
enter Package
chromium-browser
  Depends: libgtk-3-0
$ zzxx
enter Package
evince
  Depends: libgtk-3-0
$ zzxx
enter Package
firefox
  Depends: libgtk-3-0
$ zzxx
enter Package
lxappearance
  Depends: libgtk2.0-0
$ zzxx
enter Package
qterminal
qterminal
  Depends: libqt5core5a
  Depends: libqt5dbus5
  Depends: libqt5gui5
  Depends: libqt5widgets5
  Depends: libqt5x11extras5
  Depends: libqtermwidget5-0
$ zzxx
enter Package
vlc
  Depends: vlc-plugin-qt
$ 

libreofficeなどの最初のリンクで「デスクトップ非依存」と記述されているプログラムは、スクリプトを実行すると空になる場合があります。

$ zzxx
enter Package
libreoffice
$

注:

  • 適切なケース(ほとんど小文字)とapt searchを使用して、この目的に役立つ正しいパッケージ名を入力する必要があります。

  • スクリプトは明らかに、有効にしたリポジトリで利用可能なソフトウェアに対してのみ機能します。

  • apt-cache dependsの代わりにapt dependsを使用して、「警告:aptには安定したCLIインターフェイスがありません。スクリプトでは注意して使用してください」というルーチンメッセージを避けました。

  • このスクリプトは、たとえばapt show firefoxの出力全体を確認するのに代わるものではありません。これにより、より多くの情報が提供されます。

  • 「移行パッケージ」でスクリプトが失敗する場合があります。

1
DK Bose