我最近安装了 12.04。
当我尝试使用编辑,我无法使用终端,除非我关闭正在编辑的文件或必须打开一个新终端。但我认为我在 11.04 中没有遇到这个问题,但我不确定。
有没有办法避免这种情况并在编辑文件时使用相同的终端。
答案1
简短答案
在没有响应的终端中:
- 点击Ctrl+ Z。
- 键入
bg
并输入。 - 键入
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 命令将创建一个包含您运行的命令的文件stdout
。stderr
如果您想阻止这种情况,请&>/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]
正常使用,它将在后台启动。