如何让鱼吞下?或者至少从程序中脱离出来
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
【讨论】:
以上是关于如何让鱼吞下?或者至少从程序中脱离出来的主要内容,如果未能解决你的问题,请参考以下文章
Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行