3

いくつかのユーティリティ(telnetなど)を透明なラッパー(ロガー付き)に置きたいと思います。最初はエイリアスを使用しましたが、コマンドラインでうまく動作しましたが、gnomeはシェルエイリアスを理解できないため、gnome-terminalプロファイルのシェルとしてユーティリティを起動すると、ラッパーではなく実際のユーティリティが実行されます。env変数をGNOMEに渡す方法

私はシンボリックリンクで新しいフォルダを追加しようとしましたが、〜/ .bashrcにPATH(セキュリティは大きな問題ではなく、これらのシンボリックリンク専用の特別なフォルダではありません)の前に追加されましたが、 gnomeはコマンドラインから動作するため、.bashrcを実行しません)。どのようなアイデアを設定する必要がありますか?

+0

ログアウトして再度ログインする必要があります。 –

+0

私はログインしました –

答えて

0

これを行う2つの方法が、私が望むように動作するように見えました(gnome env用のスクリプトのソース)。

最初に$ {HOME} /。gnomercに入れました(しかし、後でgnomeセッションを手動で実行する必要があると感じた箇所がありましたが、それがないとうまく動作しないようです)ログインを破る。)

〜/ .profileにそれを置くので、私はちょうど

echo 'PATH=~/.symlink_dir/:${PATH}' > ~/.profile 

(〜/ .bash_profileをそう手動でしたいことが存在する場合、これはbashのでは無視されることに注意して動作するようですちょうど〜/ .bash_profileからソースを取得する

echo 'source ~/.profile' >> ~/.bash_profile)。

-1

置き換えユーティリティを実際に使用したい場合は、置き換え先のシンボリックリンクを/usr/bin/(または必要に応じてどこでも)に置き、オリジナルを/usr/bin/originals/(またはどこにでも)に移動できます。

これを行うと、ラッパーがしっかりとしたものになっていることを確認することをお勧めします。置き換える内容によっては、エラーによって起動できなくなる可能性がありますが、これは一般的には望ましくありません。

+0

私ははるかに必死でない限り、パッケージによってインストールされたバイナリは変更しません。 1つは、更新プログラムを実行するとどうなりますか? –

1

おそらく、あなたのニーズに合った代替手段がありますか?

+0

私はupdate-alternativesがすでに管理しているものを管理していると考えました。何かをラッパーへのシンボリックリンクで置き換えると(update-alternativesを介して本物のものへのシンボリックリンクに切り替える機能を持つ)、パッケージシステムが新しいバイナリでアップデートしすぎることを望む場合、シンボリックリンクを置き換えますか? –

+0

@ RomanA.Taycherあなたのシステムをアップデートしても問題はないと思います。たとえば、私のUbuntuの '/ usr/bin/telnet - >/etc/alternatives/telnet'や'/etc/alternatives/telnet-> usr/bin/telnet.netkit'を実行します。したがって、デフォルトのtelnetパッケージを更新すると、 '/ usr/bin/telnet.netkit'を更新し、' alternatives'を変更すると '/ etc/alternatives/telnet'のリンクを編集します。 – Lesque

+0

これはubuntuで動作します。今私はフェドラのために何かを見つけることができます。 –

-1

これは、あなたが求めているものではないかもしれませんが、メニューエディタからランチャーのコマンドを変更しようとしましたか?

Gnome 3を使用している場合は、alacarteパッケージをダウンロードする必要があります。

+1

これです。ラッパースクリプトを作成して/home/you/bin/telnet-wrapper.shに入れ、スクリプトを起動するランチャーを追加するのはなぜですか? –

+0

私はラッパースクリプトを使用しています。要点は、GNOME用のPATHを設定して、gnome-terminalプロファイルがインストール/アップグレードスクリプト以外の作業をしなくてもラッパーを使用できるようにすることです。 –