Ubuntuでコンソールgnome-terminal
を起動すると、ホームディレクトリから起動します。 ~/myfolder
などの別のディレクトリで開始するにはどうすればよいですか? cd ~/myfolder
を~/.profile
に書き込もうとしましたが、何も起こりません。
「gnome-terminal--working-directory = myfolder」のようにgnome-terminalを起動すると、〜/ myfolderの作業ディレクトリから起動します。そのため、メニューに新しいエントリを追加して、他のコマンドの代わりにそのコマンドを使用できます。
私はこのようにしました-スクリプトを使用して:同じウィンドウサイズ170x40で3つのタブを開き、各「タブ」は異なるディレクトリで開始します。
gnome-terminal --geometry = 170x40 --working-directory = myfolder1 \
--tab --working-directory = myfolder2 \
--tab --working-directory = myfolder3
〜/ .bashrcに以下を追加します
cd〜/myfolder
nautilus-open-terminal 拡張子を使用できます。これにより、nautilus内のフォルダを右クリックして、そのディレクトリを作業ディレクトリとして使用してターミナルウィンドウを開くことができます。
通常の方法でターミナルを実行し、「cd」と入力して、フォルダアイコンをnautilusからウィンドウにドラッグすることもできます。これにより、フォルダのパスがコマンドラインに貼り付けられ、returnと入力してそのディレクトリに移動します。通常のファイルでも同じことを実行して、パスを貼り付け、コマンドを実行できます。
実際、これは私がデフォルトですべての人に対してそれをオフにする方法です。
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory/ \
--set -- type=bool /apps/nautilus-open-terminal/desktop_opens_home_dir true
から GNOMEターミナル-はじめに :
プロファイルでGNOMEターミナルを起動したときに自動的に実行されるコマンドを指定することもできます。
端末の起動ディレクトリを指定するオプション--working-directory
があります(短いオプション形式はありません)。
/some/dir
でターミナルを開くための基本的なアプローチは次のとおりです。
gnome-terminal --working-directory=/some/dir
しかし、罠があります...
ディレクトリ~/dir
で端末を起動したいとします。
これは機能しません:
gnome-terminal --working-directory=~/dir
コマンドはオプション構文によれば完全に正常に見えますが、端末はホームディレクトリから起動します。
混乱を招く理由で、チルダ(~
)を拡張しないためです。以下を参照してください。
これらは機能します:
gnome-terminal --working-directory=/home/auser/dir
gnome-terminal --working-directory=$HOME/dir
gnome-terminal --working-directory ~/dir
最後のバリアントには=
がないことに注意してください。このため、~
はシェルワードの先頭にあり、チルダ拡張によって処理されます。
問題は、~
がどこにでも展開されるのではなく、特定の場所にのみ展開されることです。それらの1つは、directory=~/dir
のような変数割り当てにあります。 ~
は$HOME
に展開されますが、--working-directory=~/dir
は~
を展開しません。これは変数の割り当てではないため、非常によく似ているだけです。
ニールのメイヒューコメント と フォルカーのシーゲルの答え に感銘を受けました。 gnome-terminalのデフォルトディレクトリを設定するだけでなく、デスクトップ環境の習慣的な動作も維持しようとしました(私はを使用していますLinux Mint 17.1 Cinnamon、GNOMEターミナル3.6.2、おそらく他のGnomeで生成されたDEにも適用できます)。だから私は私の2セントを入れさせてください。
cd ~/myfolder
の最後に~/.bashrc
を追加すると機能します。しかし、すでに述べたように、それはすべてのインタラクティブシェルに影響します。さらに、ファイルマネージャでディレクトリを開いて(NemoまたはNautilusなど)、そこからコンテキストメニューを表示する場合(たとえば、右クリックして選択します) ターミナルで開く)gnome-terminalの新しいインスタンスがで開始されます~/myfolder
ファイルマネージャにロードされたフォルダに関係なく。 gnome-terminal --working-directory=/some/other/folder
を明示的に実行しても、~/myfolder
が開きます。 .bashrc
を使用したアプローチは使用できないようです。
gnome-terminal --working-directory=myfolder
は正常に機能しますが、このパラメーターを使用してターミナルを実行するDE(またはデスクトップのカスタムショートカット)でカスタムメニューエントリを使用する場合に限ります。コマンドラインまたはミニランチャーからgnome-terminalを実行する場合(を押します) Alt + F2)、毎回パラメータを入力する必要があります。とにかく、このアプローチは多かれ少なかれ使用可能です。
gnome-terminalはどのフォルダを開くかをどのように決定しますか? --working-directory
が指定されていない場合は、現在の作業ディレクトリ($PWD
など)が開きます。指定されていない場合は、明示的に指定されたディレクトリが開きます。
私は次の解決策を見つけました。
gnome-terminal
フォルダに~/bin
という名前のファイルを作成します。 ~/bin
はすでに$PATH
にあるため(少なくともLinux Mint ...)、ショートカットとして機能しますが、どこからでも(スタートメニュー、ミニランチャー、その他のターミナルインスタンスなど)使用できます。このファイルを実行可能にします。次に、次のコンテンツをスクリプトに挿入します。
#!/bin/bash
home_directory=~
if [ "$PWD" == "$home_directory" ]; then
# When 'gnome-terminal' was ran from either
# - start menu
# - mini-launcher
# ...
# parent directory is set to $HOME.
#
# We respect original command line arguments.
# For example, when terminal is ran from another
# terminal instance and '--working-directory' is
# specified explicitly we should left it as it is.
# If there are two '--working-directory' switches
# in the command line 'gnome-terminal' will pick up
# the last one.
#
# Also we use full path to executable here in order
# to prevent recursive calling of 'gnome-terminal' from
# '~/bin'.
/usr/bin/gnome-terminal --working-directory=/ "$@"
else
# 'gnome-terminal' was from another directory.
# We don't change anything.
/usr/bin/gnome-terminal "$@"
fi
スタートメニューからgnome-terminalを実行すると、新しいターミナルの現在のフォルダーが/
であることがわかります(任意のフォルダーを使用できます。たとえば、~/myfolder
は、カスタムラッパーがBashスクリプトであるため、シェルの拡張は正常に機能します)。
ファイルマネージャでターミナルで開くにアピールすると、新しいターミナルに現在のディレクトリが表示されます。
明示的な--working-directory
パラメータを指定してgnome-terminalを実行すると(おそらく既存のターミナルインスタンスから)、新しいターミナルインスタンスがディレクトリに開かれます。指定されています。
Rootユーザーとして目的のディレクトリで開くには、次のコマンドを実行しました。
gnome-terminal --working-directory=/home/my-project/ -x bash -c "Sudo su"
フォルダのパスが複雑な場合、つまり~/myfolder
だけではない場合は、ホームディレクトリにそのフォルダへのシンボリックリンクを作成して、すばやくアクセスできるようにすることができます。 CDPATH
環境変数を設定して、cd myfolder
と入力したときにディレクトリのリストを検索するようにbashに指示することもできます。