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