大家好!在命令行界面可以通过敲击命令打开文件,例如:
evince foo.pdf
但是这样打开文件后这个终端里就不能干别的事了,按Ctrl+C就会退出程序。有没有啥方法可以像点快捷方式那样启动应用呢?而且我发现从 terminal 启动程序总是有很多警告,但文件是可以正常看的。
|  |      1JavenXiao      2018-11-19 09:38:09 +08:00 screen 了解一下 | 
|      2shylockhg      2018-11-19 09:38:46 +08:00  2 evince foo.pdf & | 
|  |      3rrZ2C      2018-11-19 09:40:01 +08:00 可以尝试使用在命令后面加个符号:& 比如我常用的命令是 gitk ,现在就用 "gitk&" 或者 "gitk &"都可以 | 
|  |      4Shirakawa      2018-11-19 09:40:15 +08:00 试试 nohup 或者&? | 
|  |      5kernel      2018-11-19 09:44:04 +08:00 单加一个&也会把输出到控制台,只能这样: cmd... &>/dev/null & 如果用得多每次打后面一串烦的话可以写个在.bashrc 里写个小函数处理 | 
|  |      6RemiliaForever      2018-11-19 09:44:07 +08:00  1 因为命令行里直接运行 evince 并不是后台运行,自然就占用了这个终端。 简单的话可以通过 mime 管理器打开,大部分情况下是 xdg-open。用&后台运行也可以,但是 terminal 退出的时候会发送 SIGHUP,导致程序也一起退出,需要加 nohup 或者其他手段。 警告是 GTK 的 warning,可以无视。 | 
|      7linuxchild      2018-11-19 09:55:00 +08:00 tmux~~~~~~~~~~~~~~~~~~ | 
|  |      8Hardrain      2018-11-19 09:56:29 +08:00  1 直接在命令行尾加&可以让这个 terminal 继续使用,但你关闭这个 terminal 后,打开的程序也一并被关闭。 如果不想打开的程序被关闭,可以在命令行前加 nohup 如果还需要复用这个 terminal(e.g. 通过 SSH 连接到某服务器,编译某程序,编译过程中不保持 SSH 连接,编译完成后还需要到编译时用的那个 tty 下查看结果),应考虑使用 screen 但 screen 的$TERM 是 screen,不是 xterm 之类的,功能上有些限制(e.g.一些可用鼠标点击 /右键的程序无法正常使用。) | 
|  |      9mccreefei      2018-11-19 10:00:40 +08:00 ubuntu 里 alt+f2 可以输入一个命令 | 
|  |      10nvliu66      2018-11-19 10:01:56 +08:00 via Android tmux 是真的好用 | 
|  |      11chinvo      2018-11-19 10:02:30 +08:00 via iPhone byobu | 
|  |      12jasonyang9      2018-11-19 10:03:36 +08:00 用了 screen 后看下 pstree 就明白了 | 
|      13KingEngine      2018-11-19 10:05:14 +08:00 setsid evince foo.pdf | 
|  |      14MarioxLinux      2018-11-19 10:07:58 +08:00 Ctrl+Z 置入后台,fg 可以调回前台 | 
|      15johnniang      2018-11-19 10:11:16 +08:00 | 
|  |      16dangyuluo      2018-11-19 10:25:50 +08:00 https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html 不得不说,IBM 的文档库真是由全又好啊 | 
|  |      17andy1ee11o2      2018-11-19 10:26:44 +08:00 tmux 了解一下 | 
|      18fox1955      2018-11-19 10:30:31 +08:00  1 这个需求我也有,解决方法请参照我的 alias: https://github.com/derekchuank/gentoo-config/blob/master/bashrc.sh | 
|  |      19jasonyang9      2018-11-19 10:43:18 +08:00 @fox1955 #18 要我肯定用 mpv,而不是 smplayer | 
|  |      20pingpp00      2018-11-19 10:52:19 +08:00 标签了解一下? | 
|  |      21Neojoke      2018-11-19 11:05:58 +08:00  1 @codechaser 楼主了解一下 shell 环境的父子进程和进程列表,能从根本上帮你搞清这个问题 | 
|  |      22opiviqo      2018-11-19 11:11:38 +08:00 ubuntu 的话  (evince xxx.pdf &) 记得加括号 | 
|  |      23stebest      2018-11-19 11:22:25 +08:00 nohup 就行了,不满意再加个& | 
|      24fox1955      2018-11-19 11:26:47 +08:00 @jasonyang9 mpv 有什么优势吗,我也觉得 smplayer 外观有点丑 | 
|  |      25codechaser OP @Neojoke 好的,我去查查。其实我大致知道原理,但不知道如何操作 | 
|  |      26jasonyang9      2018-11-19 11:33:46 +08:00 | 
|      27Orzldzx      2018-11-19 11:50:39 +08:00 ctrl + z 和 jobs 一起用也行吧,  http://man.linuxde.net/jobs | 
|  |      28Neojoke      2018-11-19 11:53:20 +08:00  1 @codechaser 初学者,鉴于英文不太好看,建议买本 shell 手册的工具书,比方说《 Linux 命令行与 shell 脚本编程大全》,涉及到具体哪个地方有问题,可以随后翻开去查查,然后实际练习一下,这样会好很多 | 
|  |      29markgor      2018-11-19 14:59:29 +08:00 CTRL+ALT+F1 ~ F6 这样你就有 6 个快捷方式了 | 
|      30sfqr0414      2018-11-27 14:37:01 +08:00 via Android 当然是用 tty 啊 |