Làm thế nào tôi có thể bắt đầu gnome-terminal tại một thư mục cụ thể?


38

Tôi đã thử

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

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

nhưng cả hai đều cho tôi lỗi khi thiết bị đầu cuối mới mở. Làm thế nào để tôi có được một thiết bị đầu cuối mới để bắt đầu trong một thư mục cụ thể?

Câu trả lời:


48

Sử dụng

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

1
Thật kỳ lạ, điều này dường như không hoạt động đối với tôi trong gnome-terminal 3.18.3 (Ubuntu 16.04). Đối số được chấp nhận, nhưng Bash trong thiết bị đầu cuối mới mở bằng $ HOME.
Jonathan Hartley

1
Điều này không còn hoạt động trong Ubuntu 16.04, do một lỗi: bug.launchpad.net/ubfox/+source/gnome-terminal/+orms/1587154 Vui lòng truy cập và nhấp vào 'điều này cũng ảnh hưởng đến tôi' nếu bạn muốn sửa nó .
Jonathan Hartley

Trong các nhận xét về lỗi, một cách giải quyết được chỉ định để bỏ chọn "Chạy lệnh tùy chỉnh thay vì trình bao của tôi." Điều này làm việc cho tôi. Tất nhiên, nó sẽ không hoạt động nếu lệnh bạn cần chạy khác với shell của bạn. Vỏ của bạn có thể được thay đổi với chsh.
Owen

thích hợp hơn với "" gnome-terminal - Work-library = "/ path / to / dir"
Nicolas

1
@JonathanHartley Lỗi này đã được sửa cho Ubuntu 16.04.3 LTS chạy trong Kernel 4.14.34-generic
WinEunuuchs2Unix

18

Thêm dòng sau vào cuối của bạn ~/.bashrc:

cd ~/public_html

Phương pháp này sẽ vô hiệu hóa "mở trong thiết bị đầu cuối" từ menu chuột phải trong trình duyệt tệp. Nó được cho là để mở thư mục hiện tại trong một thiết bị đầu cuối mới. Nhưng lệnh này sẽ luôn chuyển hướng bạn đến thư mục ~ / public_html.
HD189733b

Như một giải pháp thay thế cd -sẽ đưa bạn đến thư mục làm việc trước đó để bạn có thể sử dụng "open in terminal", bashrc của bạn sẽ ngay lập tức chuyển bạn đến thư mục đã chọn, sau đó cd -sẽ đưa bạn trở lại thư mục bạn muốn mở. Nên làm việc!
pbhj

5
sudo apt-get install nautilus-open-terminal 

Khởi động lại nautilus và sau đó nhấp chuột phải vào bất kỳ thư mục nào và chọn "Mở trong Terminal".


4

Bạn có thể:

  1. Chỉnh sửa / tạo tệp ~/.bashrcvà thêm dòng này vào cuối tệp:

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

    Lưu thay đổi và đăng xuất / đăng nhập. Khi bạn thực thi lệnh "cdx", nó sẽ đưa bạn đến thư mục được chỉ định.

  2. Bạn có thể tạo một lối tắt / liên kết sẽ thực hiện lệnh này:

    • Nếu bạn sử dụng gnome-terminal (ubfox):

      gnome-terminal --working-directory="/full/path/to/myfolder"
      
    • Nếu bạn sử dụng lxterminal (Lubfox):

      lxterminal --working-directory="/full/path/to/myfolder"
      

- Work-thư mục không còn hoạt động trong Ubuntu 16.04, do một lỗi: bug.launchpad.net/ubfox/+source/gnome-terminal/+bug/1587154 Vui lòng truy cập vào đó và nhấp vào 'điều này cũng ảnh hưởng đến tôi' nếu bạn ' d thích nó cố định.
Jonathan Hartley

1
@JonathanHartley Lỗi này đã được sửa cho Ubuntu 16.04.3 LTS chạy dưới Kernel 4.14.34-generic.
WinEunuuchs2Unix

2

bạn có thể thêm nautilus-script như thế

Tạo tập tin trống có tên là "Open Terminal Here" trong

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

danh mục.

Mở nó và viết những dòng này bên trong.

#!/bin/bash
gnome-terminal

Làm cho nó có thể thực thi được và nhấp chuột phải vào bất kỳ thư mục nào trong nautilus và chọn "Tập lệnh> Mở Terminal tại đây" từ menu.


1

Mở "~ / .bashrc" Cuộn xuống dưới cùng và thêm lệnh thư mục thay đổi Ví dụ: cd ~ / myfolder

Sau đó lưu và thoát. "~" Sẽ đưa bạn đến thư mục nhà của bạn (/ home / loginname)

Mỗi khi bạn khởi chạy thiết bị đầu cuối của mình, nó sẽ đọc tệp .bashrc để bạn cũng có thể đặt các đường dẫn tìm kiếm ETC ..... ,, trong đó.


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

như

root45 đã trả lời

hoặc bạn cũng có thể làm như thế này

nếu bạn khởi động gnome-terminal như " gnome-terminal --working-directory=myfolder" thì nó sẽ bắt đầu với thư mục làm việc tại ~/myfolder. vì vậy bạn có thể thêm một mục mới vào menu của mình để sử dụng lệnh đó thay vì mục khác.


Điều này không đúng mọi lúc, nếu môi trường không được thiết lập để mở thiết bị đầu cuối trong người dùng ~thì điều này sẽ không có hiệu ứng mong muốn, bạn sẽ cần sử dụng đường dẫn đầy đủ đến thư mục. Nó đúng trên bối cảnh hiện tại, nhưng không phải tất cả thời gian.
Bruno Pereira

Đó là từ đây (sẽ rất tốt để cung cấp tín dụng): stackoverflow.com/questions/844677/NH
Volker Siegel

Điều này không còn hoạt động trong Ubuntu 16.04, do một lỗi: bug.launchpad.net/ubfox/+source/gnome-terminal/+orms/1587154 Vui lòng truy cập và nhấp vào 'điều này cũng ảnh hưởng đến tôi' nếu bạn muốn sửa nó .
Jonathan Hartley

0

Những công việc này:

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

Một vài bình luận:

  • Phiên bản gnome-terminal của tôi là:
$ gnome-terminal --version
# GNOME Terminal 3.28.1 using VTE 0.52.1 +GNUTLS -PCRE2
  • tất cả mọi thứ sau bash -c phải được gói bằng dấu ngoặc đơn
  • bạn phải sử dụng "-c" cho tùy chọn bash
  • phải sử dụng "-" ngay cả khi tài liệu nói sử dụng "-x" hoặc "-e" (những thứ này không được dùng nữa
  • "-tab" tạo một tab trong cửa sổ terminal hiện tại
  • sử dụng "-window" để tạo cửa sổ terminal mới
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.