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


38

я пробовал

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

а также

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

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

Ответы:


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, затем щелкните правой кнопкой мыши в любом каталоге и выберите «Открыть в терминале».


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 и выберите «Сценарии> Открыть терминал здесь» из меню.


1

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

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

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


0
gnome-terminal --working-directory=/path/to/dir

как

root45 ответил

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

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


Это не всегда так, если среда не настроена на открытие терминала у пользователей, ~это не даст желаемого эффекта, вам нужно будет использовать полный путь к папке. Это правильно в текущем контексте, но не всегда.
Бруно Перейра

Вот отсюда (было бы неплохо отдать должное): 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", чтобы создать новое окно терминала
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.