gnome-terminal:如何设置工作目录?

gnome-terminal:如何设置工作目录?

这个问题困扰了我好几年。终端启动时~/Desktop(至少在 20.04 版),完全没用。我该如何解决这个问题?我目前知道的是:

  1. 它不是从当前目录启动的,因此对.bashrc/etc 的任何更改都无济于事。~/Desktop其行为几乎就像它被编译到应用程序中一样
  2. 没有与设置相关的dconf设置( )/org/gnome/terminal/legacy/profilesworking-directory
  3. 您无法在给定终端的配置文件中设置
  4. 您无法通过编辑Exec字符串来设置它/usr/share/applications/org.gnome.Terminal.desktop- 它不起作用

如果你已经打开了一个终端,那么这个工作:

$ gnome-terminal --working-directory=$HOME

Exec但是如果你改变中的任何/所有字符串/usr/share/applications/org.gnome.Terminal.desktop,那就没有什么区别了:

Exec=gnome-terminal --working-directory=$HOME

最后一个已知可以在 RHEL 中运行。

更新:

  1. 当有 working-directoryExec设置中

  2. CTL-ALT-t 在我的主目录中启动,大概是使用全局设置/usr/share/applications/org.gnome.Terminal.desktop

  3. 桌面右键单击总是在 启动~/Desktop,根据 vanadium 的评论

  4. update-alternatives输出是

    $ update-alternatives --display x-terminal-emulator x-terminal-emulator - 自动模式 链接最佳版本是 /usr/bin/gnome-terminal.wrapper 链接当前指向 /usr/bin/gnome-terminal.wrapper 链接 x-terminal-emulator 是 /usr/bin/x-terminal-emulator 从属 x-terminal-emulator.1.gz 是 /usr/share/man/man1/x-terminal-emulator.1.gz /usr/bin/gnome-terminal.wrapper - 优先级 40 从属 x-terminal-emulator.1.gz: /usr/share/man/man1/gnome-terminal.1.gz

答案1

将要如果您明确说明目录而不是指定 $HOME,则此方法有效。原因:桌面启动器不支持 bash 变量或 bash 扩展。

答案2

如果你在桌面上单击鼠标右键,你将得到的菜单是桌面菜单。它将包含诸如“新建文件夹”之类的条目,用于在桌面上创建新文件夹。它还有一个名为“在终端中打开”的条目(请注意“在”这个词!),用于在桌面目录中打开终端,或者实际上使用菜单条目的逻辑,我应该说它在终端中打开桌面目录。

我个人同意你的观点,我觉得这是一个相当无用的功能,所以我从不使用此菜单项。我个人使用全局快捷键Ctrl++AltT,或单击 dock/启动器中的图标(无论它叫什么),后一种方法的优点是我可以启动终端相同的就像我启动其他我最喜欢和经常使用的应用程序一样。

请注意,这与 GNOME 终端无关,它只与桌面有关。如果您将首选终端更改为其他终端,桌面的“在终端中打开”菜单将在该文件夹中打开该终端。难怪您在 GNOME 终端的设置中找不到有关工作目录的任何选项,确实没有,绝对不是 GNOME 终端决定在该文件夹中打开。

我个人的建议是避免使用该菜单项,因为它的设计有问题,旨在在桌面目录中打开一个终端。话虽如此,找到正确的 .desktop根据 vanadium 的评论,将标志添加--working-directory到文件gnome-terminal也应该有效。还有一种可能性是修复来自的目录.bashrc

相关内容