Всякий раз, когда я запускаю консоль gnome-terminal
в Ubuntu, она начинается в домашнем каталоге. Как я могу запустить его в другом каталоге, скажем ~/myfolder
?
Я попытался написать cd ~/myfolder
в ~/.profile
, но ничего не происходит.
Gnome-Terminal, как начать работу в другом каталоге?
Ответ 1
Если вы запустите gnome-terminal, например "gnome-terminal -working-directory = myfolder", он начнется с рабочего каталога в ~/myfolder. поэтому вы можете добавить новую запись в свое меню, чтобы использовать эту команду, а не другую.
Ответ 2
Я сделал этот путь - с помощью script: откройте 3 вкладки в том же размере 170x40, каждая "вкладка" начнется в другом каталоге.
gnome-terminal --geometry = 170x40 --working-directory = myfolder1\
- вкладка - working-directory = myfolder2\
- вкладка - working-directory = myfolder3
Ответ 3
Добавьте следующее к своему ~/.bashrc
cd ~/myfolder
Ответ 4
Вы можете использовать расширение nautilus-open-terminal. Это позволяет вам щелкнуть правой кнопкой мыши по папке в nautilus и открыть окно терминала с этим каталогом в качестве рабочего каталога.
Вы также можете запустить терминал обычным способом, введите "cd" и перетащите значок папки из nautilus в окно. Это введет путь к папке в командной строке, а затем введите return для изменения в этот каталог. Вы можете сделать то же самое с обычными файлами, чтобы вставить их путь и запустить команды на них.
Ответ 5
От Терминал GNOME - Начало работы:
Вы также можете указать команду, которая запускается автоматически при запуске терминала GNOME в профиле.
Ответ 6
Собственно, так я по умолчанию отключил их для всех.
gconftool-2 --direct \
--config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory/ \
--set -- type=bool /apps/nautilus-open-terminal/desktop_opens_home_dir true
Ответ 7
Если папка имеет сложный путь, то есть не только ~/myfolder
, вы можете создать символическую ссылку на нее в своем домашнем каталоге, чтобы быстро перейти к ней. Вы также можете установить переменную среды CDPATH
, чтобы сообщить bash для поиска списка каталогов при вводе cd myfolder
.
Ответ 8
Справочная опция
Существует опция --working-directory
для указания каталога запуска терминала (без короткой формы).
Основным подходом к открытию терминала в /some/dir
является
gnome-terminal --working-directory=/some/dir
но есть ловушка...
Плохая ловушка
Предполагая, что мы хотим запустить терминал в каталоге ~/dir
.
Это не работает:
gnome-terminal --working-directory=~/dir
Команда выглядит отлично в соответствии с синтаксисом параметров, но терминал запускается в домашнем каталоге.
Это связано с тем, что он не расширяет тильду (~
) по путаным причинам - см. Ниже.
Thesse do work:
gnome-terminal --working-directory=/home/auser/dir
gnome-terminal --working-directory=$HOME/dir
gnome-terminal --working-directory ~/dir
Расширение Тильды
Обратите внимание, что в последнем варианте нет =
. Из-за этого, ~
находится в начале слова оболочки, и поэтому обрабатывается расширением тильды.
Проблема заключается в том, что ~
не распространяется повсюду, но только в определенных местах. Один из них имеет переменные назначения, например directory=~/dir
. Это нормально, ~
расширяется до $HOME
, но --working-directory=~/dir
не расширяет ~
, потому что это не назначение переменной, оно выглядит очень похоже.
Ответ 9
Я впечатлен Нил Мейхью комментарий а также Ответ Volker Siegel. Я попытался не только установить каталог по умолчанию для gnome-terminal, но сохраните привычное поведение среды рабочего стола (я использую Linux Mint 17.1 Cinnamon, Терминал GNOME 3.6.2, возможно, он также может быть применен для других Gnome-congenered DE). Поэтому позвольте мне поставить мои два цента.
-
Добавление
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...). Сделать этот файл
исполняемый файл. Затем поместите следующее содержимое в script:
#!/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=/ "[email protected]"
else
# 'gnome-terminal' was from another directory.
# We don't change anything.
/usr/bin/gnome-terminal "[email protected]"
fi
Если вы запустите gnome-terminal из меню "Пуск", вы увидите, что текущая папка в новом терминале /
(вы можете использовать любую папку, например, ~/myfolder
, потому что наша пользовательская оболочка a Bash - script, поэтому расширение оболочки с прекрасной работой).
Если вы обратитесь к Открыть в терминале в файловом менеджере, вы получите текущий каталог в новом терминале.
Если вы запустите gnome-terminal с явным параметром --working-directory
(возможно, из существующего экземпляра терминала), новый экземпляр терминала будет открыт в указанном вами каталоге.
Ответ 10
Чтобы открыть в моей нужной директории как пользователь root, я побежал:
gnome-terminal --working-directory=/home/my-project/ -x bash -c "sudo su"