请教一下一个关于 Linux 的问题

2018-11-19 09:34:20 +08:00
 codechaser

大家好!在命令行界面可以通过敲击命令打开文件,例如:

evince foo.pdf

但是这样打开文件后这个终端里就不能干别的事了,按Ctrl+C就会退出程序。有没有啥方法可以像点快捷方式那样启动应用呢?而且我发现从 terminal 启动程序总是有很多警告,但文件是可以正常看的。

3773 次点击
所在节点    Linux
30 条回复
JavenXiao
2018-11-19 09:38:09 +08:00
screen 了解一下
shylockhg
2018-11-19 09:38:46 +08:00
evince foo.pdf &
rrZ2C
2018-11-19 09:40:01 +08:00
可以尝试使用在命令后面加个符号:&

比如我常用的命令是 gitk ,现在就用 "gitk&" 或者 "gitk &"都可以
Shirakawa
2018-11-19 09:40:15 +08:00
试试 nohup 或者&?
kernel
2018-11-19 09:44:04 +08:00
单加一个&也会把输出到控制台,只能这样:

cmd... &>/dev/null &

如果用得多每次打后面一串烦的话可以写个在.bashrc 里写个小函数处理
RemiliaForever
2018-11-19 09:44:07 +08:00
因为命令行里直接运行 evince 并不是后台运行,自然就占用了这个终端。
简单的话可以通过 mime 管理器打开,大部分情况下是 xdg-open。用&后台运行也可以,但是 terminal 退出的时候会发送 SIGHUP,导致程序也一起退出,需要加 nohup 或者其他手段。
警告是 GTK 的 warning,可以无视。
linuxchild
2018-11-19 09:55:00 +08:00
tmux~~~~~~~~~~~~~~~~~~
Hardrain
2018-11-19 09:56:29 +08:00
直接在命令行尾加&可以让这个 terminal 继续使用,但你关闭这个 terminal 后,打开的程序也一并被关闭。

如果不想打开的程序被关闭,可以在命令行前加 nohup

如果还需要复用这个 terminal(e.g. 通过 SSH 连接到某服务器,编译某程序,编译过程中不保持 SSH 连接,编译完成后还需要到编译时用的那个 tty 下查看结果),应考虑使用 screen
但 screen 的$TERM 是 screen,不是 xterm 之类的,功能上有些限制(e.g.一些可用鼠标点击 /右键的程序无法正常使用。)
mccreefei
2018-11-19 10:00:40 +08:00
ubuntu 里 alt+f2 可以输入一个命令
nvliu66
2018-11-19 10:01:56 +08:00
tmux 是真的好用
chinvo
2018-11-19 10:02:30 +08:00
byobu
jasonyang9
2018-11-19 10:03:36 +08:00
用了 screen 后看下 pstree 就明白了
KingEngine
2018-11-19 10:05:14 +08:00
setsid evince foo.pdf
MarioxLinux
2018-11-19 10:07:58 +08:00
Ctrl+Z 置入后台,fg 可以调回前台
johnniang
2018-11-19 10:11:16 +08:00
https://wiki.archlinux.org/index.php/dmenu

这可能是你想要的结果( dmenu )。
dangyuluo
2018-11-19 10:25:50 +08:00
https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html
不得不说,IBM 的文档库真是由全又好啊
andy1ee11o2
2018-11-19 10:26:44 +08:00
tmux 了解一下
fox1955
2018-11-19 10:30:31 +08:00
这个需求我也有,解决方法请参照我的 alias: https://github.com/derekchuank/gentoo-config/blob/master/bashrc.sh
jasonyang9
2018-11-19 10:43:18 +08:00
@fox1955 #18 要我肯定用 mpv,而不是 smplayer
pingpp00
2018-11-19 10:52:19 +08:00
标签了解一下?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/509118

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX