Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
codechaser
V2EX  ›  Linux

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

  •  
  •   codechaser · Nov 19, 2018 · 5442 views
    This topic created in 2908 days ago, the information mentioned may be changed or developed.

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

    evince foo.pdf
    

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

    30 replies  •  2018-11-27 14:37:01 +08:00
    JavenXiao
    JavenXiao
    Nov 19, 2018
    1
    screen 了解一下
    shylockhg
    shylockhg
    Nov 19, 2018❤️2
    2
    evince foo.pdf &
    rrZ2C
    rrZ2C
    Nov 19, 2018
    3
    可以尝试使用在命令后面加个符号:&

    比如我常用的命令是 gitk ,现在就用 "gitk&" 或者 "gitk &"都可以
    Shirakawa
    Shirakawa
    Nov 19, 2018
    4
    试试 nohup 或者&?
    kernel
    kernel
    Nov 19, 2018
    5
    单加一个&也会把输出到控制台,只能这样:

    cmd... &>/dev/null &

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

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

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

    这可能是你想要的结果( dmenu )。
    dangyuluo
    dangyuluo
    Nov 19, 2018
    16
    https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html
    不得不说,IBM 的文档库真是由全又好啊
    andy1ee11o2
    andy1ee11o2
    Nov 19, 2018
    17
    tmux 了解一下
    fox1955
    fox1955
    Nov 19, 2018❤️1
    18
    这个需求我也有,解决方法请参照我的 alias: https://github.com/derekchuank/gentoo-config/blob/master/bashrc.sh
    jasonyang9
    jasonyang9
    Nov 19, 2018
    19
    @fox1955 #18 要我肯定用 mpv,而不是 smplayer
    pingpp00
    pingpp00
    Nov 19, 2018
    20
    标签了解一下?
    Neojoke
    Neojoke
    Nov 19, 2018❤️1
    21
    @codechaser 楼主了解一下 shell 环境的父子进程和进程列表,能从根本上帮你搞清这个问题
    opiviqo
    opiviqo
    Nov 19, 2018
    22
    ubuntu 的话 (evince xxx.pdf &) 记得加括号
    stebest
    stebest
    Nov 19, 2018
    23
    nohup 就行了,不满意再加个&
    fox1955
    fox1955
    Nov 19, 2018
    24
    @jasonyang9 mpv 有什么优势吗,我也觉得 smplayer 外观有点丑
    codechaser
    codechaser
    OP
    Nov 19, 2018 via Android
    25
    @Neojoke 好的,我去查查。其实我大致知道原理,但不知道如何操作
    jasonyang9
    jasonyang9
    Nov 19, 2018
    26
    @fox1955 #24 如果没说错,smplyer 底层用的就是 mpv。

    mpv 的优势在我看来是几乎全键盘控制,UI 最小化,配置灵活,继承并发扬了 MPlayer 的精髓。
    Orzldzx
    Orzldzx
    Nov 19, 2018
    27
    ctrl + z 和 jobs 一起用也行吧, http://man.linuxde.net/jobs
    Neojoke
    Neojoke
    Nov 19, 2018❤️1
    28
    @codechaser 初学者,鉴于英文不太好看,建议买本 shell 手册的工具书,比方说《 Linux 命令行与 shell 脚本编程大全》,涉及到具体哪个地方有问题,可以随后翻开去查查,然后实际练习一下,这样会好很多
    markgor
    markgor
    Nov 19, 2018
    29
    CTRL+ALT+F1 ~ F6
    这样你就有 6 个快捷方式了
    sfqr0414
    sfqr0414
    Nov 27, 2018 via Android
    30
    当然是用 tty 啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2678 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 00:32 · PVG 08:32 · LAX 16:32 · JFK 19:32
    ♥ Do have faith in what you're doing.