8

Linuxでは、デフォルトのテキストエディタ、ターミナルなどをどのように決定できますか?

ディストロによって異なりますか?

4

6 に答える 6

3

私は以前、プログラム的にかなり醜い方法でリストにアクセスしましたが、それが最善の方法ではないと確信しています。オプションはdefaults.listというファイルに保存されます(これは一般的に当てはまると思います)。場所はあまり一般的ではないと思いますが、ubuntuシステムの/ usr / share / Applications /にあると思いますが、他の場所に表示されていると思います。次に、それをテキストファイルとして扱いました。

于 2012-01-06T20:53:32.130 に答える
2

解決順序は$EDITOR-> editor->コンソールエディターの事前定義されたリストです。Debian / Ubuntuでは、sensible-editor(およびsensible-browsersensible-pager)が適切な環境変数の検索を含む検索を行います。同様の変数は$PAGER、、、$SHELLです$BROWSER。ファイルの関連付けを検索するには、を使用できますxdg-open

于 2012-01-06T21:00:15.467 に答える
1

これはubuntu/gnomeで機能します。

>>> query_lines = subprocess.check_output(['update-alternatives',
                                           '--query',
                                           'gnome-text-editor']).split('\n')
>>> bestlist = filter(lambda l: 'Best' in l, query_lines)
>>> bestlist[0].split()[1]
'/usr/bin/gedit'

gnomeを使用していない場合は、少なくともコマンドラインエディターを入手できます。

>>> query_lines = subprocess.check_output(['update-alternatives',
...                                        '--query',
...                                        'editor']).split('\n')
>>> bestlist = filter(lambda l: 'Best' in l, query_lines)
>>> bestlist[0].split()[1]
'/bin/nano'
于 2012-01-06T20:56:31.683 に答える
1

ユーザーごとの環境変数はそれを示しています。

  • $ EDITORは、テキストエディタとして起動するコマンドを提供します。
  • $BROWSERはあなたにブラウザを提供します
  • $ PAGERは、ポケットベルを提供します(例:多かれ少なかれ)。

ただし、これはコマンドラインソフトウェアには有効ですが、通常、デスクトップ環境では独自の(内部)変数が使用されます。

また、Pythonでは、を使用して環境変数を読み取ることができますos.getenv

于 2012-01-06T20:47:54.967 に答える
1

デフォルトのエディタやターミナルの概念は意味がないと思います。$EDITORエディターの場合、定義時に使用する規則があります。

Debianおよび関連(Ubuntu、Mintなど)では、システムのデフォルトのようなパスが/usr/bin/editorあり、/usr/bin/x-terminal-emulator(のシンボリックリンクを介して/etc/alternatives/)シンボリックリンクされています。

Dacavの回答も参照してください

于 2012-01-06T20:49:41.993 に答える
1

@bowlerの答えからヒントを得て、純粋にbashします。

editor=$(grep "text/plain" -r -i -I /usr/share/applications/defaults.list | awk -F';' '{print $1}' | awk -F'.desktop' '{print $1}' | awk -F'=' '{print $2}')
于 2015-05-03T13:58:13.940 に答える