如何让鱼吞下?或者至少从程序中脱离出来

Posted

技术标签:

【中文标题】如何让鱼吞下?或者至少从程序中脱离出来【英文标题】:How do I get fish to swallow? or at least to detach itself from a program 【发布时间】:2020-11-24 07:34:08 【问题描述】:

我希望能够键入“vlc Music/”,然后让终端消失,直到我关闭新启动的 VLC 窗口。我查看了文档和其他地方,但找不到解决方案。如果我仍然可以使用终端,我会很好地保持打开状态,我只是不想打开一个无用的窗口,并且使用缩写启动音乐播放器比启动后使用 VLC 的 GUI 更优惠和罗菲一起。

另外,如果我学会了如何做到这一点,我可以对我的所有程序做同样的事情,并且能够只使用终端来启动我的应用程序,而无需一直使用 Rofi。

【问题讨论】:

【参考方案1】:

假设您不关心任何 vlc 输出:

function vlc --wraps=vlc
    command vlc $argv >/dev/null 2>&1 &
    disown
end
funcsave vlc

这会将 vlc 启动到后台,丢弃任何标准输出或标准错误,然后将进程与终端分离。

如果这是你要反复做的事情,你可以这样做:

function disowner -a cmd
    eval "function $cmd --wraps=$cmd
        command $cmd \$argv >/dev/null 2>&1 &
        disown
    end"
end

disowner vlc
funcsave vlc

【讨论】:

以上是关于如何让鱼吞下?或者至少从程序中脱离出来的主要内容,如果未能解决你的问题,请参考以下文章