Как запустить gnome-терминал в определенном каталоге?

38

я пробовал

gnome-terminal -x 'cd /path/to/dir'

а также

gnome-terminal -e 'cd /path/to/dir'

но оба дают мне ошибки при открытии нового терминала. Как получить новый терминал для запуска в определенном каталоге?

user32085
источник

Ответы:

49

использование

gnome-terminal --working-directory=/path/to/dir
Крис Харпер
источник
1
Любопытно, что это не работает для меня в GNOME-терминал 3.18.3 (Ubuntu 16.04). Аргумент принят, но Bash в новом терминале открывается в $ HOME.
Джонатан Хартли,
1
Это больше не работает в Ubuntu 16.04 из-за ошибки: bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Пожалуйста, перейдите туда и нажмите «это влияет на меня тоже», если вы хотите, чтобы это было исправлено ,
Джонатан Хартли,
В комментариях к ошибке указан обходной путь, который снимает флажок «Запускать пользовательскую команду вместо моей оболочки». Это сработало для меня. Конечно, это не сработает, если команда, которую вам нужно выполнить, отличается от вашей оболочки. Ваша оболочка может быть изменена с chsh.
Оуэн
предпочтительно с "" gnome-terminal --working-directory = "/ path / to / dir"
Николас
1
@JonathanHartley Эта ошибка была исправлена ​​для Ubuntu 16.04.3 LTS, работающей под ядром 4.14.34-ядра
WinEunuuchs2Unix
18

Добавьте следующую строку в конец вашего ~/.bashrc:

cd ~/public_html
Исайя
источник
Этот метод отключит «открыть в терминале» из контекстного меню в браузере файлов. Предполагается открыть текущий каталог в новом терминале. Но эта команда всегда перенаправит вас в каталог ~ / public_html.
HD189733b
В качестве обходного пути к этому cd -следует перейти к предыдущему рабочему каталогу, чтобы вы могли использовать «открыть в терминале», ваш bashrc немедленно перенаправит вас к выбранному каталогу, а затем cd -вернет вас к каталогу, который вы хотите открыть. Должно сработать!
pbhj
5
sudo apt-get install nautilus-open-terminal 

Перезапустите nautilus, затем щелкните правой кнопкой мыши в любом каталоге и выберите «Открыть в терминале».

Donk
источник
4

Вы можете:

  1. Отредактируйте / создайте файл ~/.bashrcи добавьте эту строку в конец файла:

    alias cdx='cd /path/to/myfolder'
    

    Сохраните изменения и выйдите из системы. Когда вы выполните команду «cdx», вы попадете в указанную папку.

  2. Вы можете создать ярлык / ссылку, которая будет выполнять эту команду:

    • Если вы используете gnome-терминал (ubuntu):

      gnome-terminal --working-directory="/full/path/to/myfolder"
      
    • Если вы используете lxterminal (Lubuntu):

      lxterminal --working-directory="/full/path/to/myfolder"
      
Саввас Радевич
источник
--working-directory больше не работает в Ubuntu 16.04 из-за ошибки: bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Пожалуйста, перейдите туда и нажмите «это касается и меня», если вы Я хотел бы это исправить.
Джонатан Хартли,
1
@JonathanHartley Эта ошибка была исправлена ​​для Ubuntu 16.04.3 LTS, работающей под ядром 4.14.34 ядра.
WinEunuuchs2Unix
2

Вы можете добавить Nautilus-скрипт, как это

Создайте пустой файл с именем «Открыть терминал здесь» в

~/.local/share/nautilus/scripts/ # for Ubuntu 13.04 or above
~/.gnome2/nautilus-scripts/      # for Ubuntu 12.10 and below

каталог.

Откройте его и напишите эти строки внутри.

#!/bin/bash
gnome-terminal

Сделайте его исполняемым, щелкните правой кнопкой мыши любой каталог в nautilus и выберите «Сценарии> Открыть терминал здесь» из меню.

cnr437
источник
1

Откройте «~ / .bashrc». Прокрутите вниз и добавьте команду изменения каталога. Пример: cd ~ / myfolder

Затем сохраните и выйдите. "~" Приведет вас в вашу домашнюю папку (/ home / loginname)

Каждый раз, когда вы запускаете свой терминал, он читает файл .bashrc, чтобы вы также могли вставить в него пути поиска ETC .....,.

user32187
источник
0
gnome-terminal --working-directory=/path/to/dir

как

root45 ответил

или ты можешь сделать так же

если вы запустите gnome-терминал вроде " gnome-terminal --working-directory=myfolder", он начнется с рабочего каталога в ~/myfolder. так что вы можете добавить новую запись в ваше меню, чтобы использовать эту команду вместо другой.

twister_void
источник
Это не всегда так, если среда не настроена на открытие терминала у пользователей, ~это не даст желаемого эффекта, вам нужно будет использовать полный путь к папке. Это правильно в текущем контексте, но не всегда.
Бруно Перейра
Вот отсюда (было бы неплохо отдать должное): stackoverflow.com/questions/844677/…
Volker Siegel
Это больше не работает в Ubuntu 16.04 из-за ошибки: bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1587154 Пожалуйста, перейдите туда и нажмите «это влияет на меня тоже», если вы хотите, чтобы это было исправлено ,
Джонатан Хартли,
0

Это работает:

gnome-terminal --tab --title="your title" -- bash -c 'cd /path/to/dir && your_code' &

Несколько комментариев:

  • Моя версия гном-терминала:
$ gnome-terminal --version
# GNOME Terminal 3.28.1 using VTE 0.52.1 +GNUTLS -PCRE2
  • все после bash -c должно быть заключено в одинарные кавычки
  • вы должны использовать «-c» для опции bash
  • должен использовать «-», даже если документ говорит использовать «-x» или «-e» (они устарели
  • "-tab" создает вкладку в текущем окне терминала
  • используйте "-window", чтобы создать новое окно терминала
JohnÂ?
источник