gedit 命令运行时我无法使用终端

gedit 命令运行时我无法使用终端

我最近安装了 12.04。
当我尝试使用编辑,我无法使用终端,除非我关闭正在编辑的文件或必须打开一个新终端。但我认为我在 11.04 中没有遇到这个问题,但我不确定。
有没有办法避免这种情况并在编辑文件时使用相同的终端。

答案1

简短答案

在没有响应的终端中:

  1. 点击Ctrl+ Z
  2. 键入bg并输入。
  3. 键入disown并输入。

长答案

在没有响应的终端中,按Ctrl+ Z,这将“暂停”进程(或“作业”)并将控制台控制权返回给您。但是,您会注意到它gedit变得没有响应,您无法使用它。

额外的:如果你愿意,你可以执行该命令jobs,你会注意到它会读取已停止对于gedit命令,这就是您不能使用它的原因。

要使作业在后台成功运行(即gedit再次响应),请执行命令bg(即后台)。现在您将能够使用gedit,同时获得提示符。

额外的:现在,如果你执行jobs,你会注意到它会读取跑步

你可以从一开始就克服所有这些问题。当你gedit从终端启动时,&在命令末尾添加一个,就像这样gedit /path/to/file &。这gedit将从一开始就在后台启动(你可能需要点击Enter几次才能重新获得控制台控制权)。

额外的:如果您遵循这些额外的说明,您可能已经注意到,第二次执行时jobs,您会看到 bash&在命令末尾添加了一个gedit

习惯了这个系统后,您可能会注意到,如果您关闭终端,gedit 也会终止,甚至没有确认对话框。为了防止这种情况发生,请运行disown,这将使 gedit 进程与终端分离,并将其从 返回的列表中删除jobs

答案2

只需输入:

gedit <filename-to-edit> &

这将立即向您返回命令提示符。

答案3

您可以使用来nohup防止 GUI 附加到终端:

nohup mupdf some.pdf &

这将允许您关闭正在启动的终端,而无需关闭程序。

您还应该注意到,nohup 命令将创建一个包含您运行的命令的文件stdoutstderr如果您想阻止这种情况,请&>/dev/null在 之前添加&

nohup mupdf some.pdf &>/dev/null &

答案4

man gedit

-b, --background
         Run gedit in the background.

因此,如果您gedit使用-b选项运行,它将在后台启动:

gedit -b [FILE-NAME]

此外,接下来您可以为gedit -b(参见这里如何创建永久别名):

alias gedit='gedit -b'

从现在开始,将来您就可以gedit [FILE-NAME]正常使用,它将在后台启动。

相关内容