技术解析

请教一下一个关于 Linux 的问题
0
2021-06-22 05:42:28
idczone

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

evince foo.pdf

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


screen 了解一下

evince foo.pdf &

可以尝试使用在命令后面加个符号:&
比如我常用的命令是 gitk ,现在就用 "gitk&" 或者 "gitk &"都可以

试试 nohup 或者&?

单加一个&也会把输出到控制台,只能这样:
cmd... &>/dev/null &
如果用得多每次打后面一串烦的话可以写个在.bashrc 里写个小函数处理

因为命令行里直接运行 evince 并不是后台运行,自然就占用了这个终端。
简单的话可以通过 mime 管理器打开,大部分情况下是 xdg-open。用&后台运行也可以,但是 terminal 退出的时候会发送 SIGHUP,导致程序也一起退出,需要加 nohup 或者其他手段。
警告是 GTK 的 warning,可以无视。

tmux~~~~~~~~~~~~~~~~~~

直接在命令行尾加&可以让这个 terminal 继续使用,但你关闭这个 terminal 后,打开的程序也一并被关闭。
如果不想打开的程序被关闭,可以在命令行前加 nohup
如果还需要复用这个 terminal(e.g. 通过 SSH 连接到某服务器,编译某程序,编译过程中不保持 SSH 连接,编译完成后还需要到编译时用的那个 tty 下查看结果),应考虑使用 screen
但 screen 的$TERM 是 screen,不是 xterm 之类的,功能上有些限制(e.g.一些可用鼠标点击 /右键的程序无法正常使用。)

ubuntu 里 alt+f2 可以输入一个命令

tmux 是真的好用

byobu

用了 screen 后看下 pstree 就明白了

setsid evince foo.pdf

Ctrl+Z 置入后台,fg 可以调回前台

https://wiki.archlinux.org/index.php/dmenu
这可能是你想要的结果( dmenu )。

https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html
不得不说,IBM 的文档库真是由全又好啊

tmux 了解一下

这个需求我也有,解决方法请参照我的 alias: https://github.com/derekchuank/gentoo-config/blob/master/bashrc.sh

要我肯定用 mpv,而不是 smplayer

标签了解一下?

楼主了解一下 shell 环境的父子进程和进程列表,能从根本上帮你搞清这个问题

ubuntu 的话 (evince xxx.pdf &) 记得加括号

nohup 就行了,不满意再加个&

mpv 有什么优势吗,我也觉得 smplayer 外观有点丑

好的,我去查查。其实我大致知道原理,但不知道如何操作

如果没说错,smplyer 底层用的就是 mpv。
mpv 的优势在我看来是几乎全键盘控制,UI 最小化,配置灵活,继承并发扬了 MPlayer 的精髓。

ctrl + z 和 jobs 一起用也行吧, http://man.linuxde.net/jobs

初学者,鉴于英文不太好看,建议买本 shell 手册的工具书,比方说《 Linux 命令行与 shell 脚本编程大全》,涉及到具体哪个地方有问题,可以随后翻开去查查,然后实际练习一下,这样会好很多

CTRL+ALT+F1 ~ F6
这样你就有 6 个快捷方式了

当然是用 tty 啊

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服