如何让鱼吞咽?或者至少让自己脱离程序
How do I get fish to swallow? or at least to detach itself from a program
我希望能够键入“vlc Music/”,然后让终端消失,直到我关闭新启动的 VLC window。我查看了文档和其他地方,但找不到解决方案。如果我仍然可以使用终端,我会很好地保持打开状态,我只是不想打开无用的 window,并且使用缩写来启动音乐播放器比使用 VLC 更优先使用 Rofi 启动后的 GUI。
另外,如果我学会了如何做,我就可以对我的所有程序做同样的事情,并且能够只使用终端来启动我的应用程序,而不需要一直使用 Rofi。
假设您不关心任何 vlc 输出:
function vlc --wraps=vlc
command vlc $argv >/dev/null 2>&1 &
disown
end
funcsave vlc
这会将 vlc 启动到后台,丢弃任何 stdout 或 stderr,然后将进程与终端分离。
如果这是你要重复做的事情,你可以这样做:
function disowner -a cmd
eval "function $cmd --wraps=$cmd
command $cmd $argv >/dev/null 2>&1 &
disown
end"
end
disowner vlc
funcsave vlc
我希望能够键入“vlc Music/”,然后让终端消失,直到我关闭新启动的 VLC window。我查看了文档和其他地方,但找不到解决方案。如果我仍然可以使用终端,我会很好地保持打开状态,我只是不想打开无用的 window,并且使用缩写来启动音乐播放器比使用 VLC 更优先使用 Rofi 启动后的 GUI。
另外,如果我学会了如何做,我就可以对我的所有程序做同样的事情,并且能够只使用终端来启动我的应用程序,而不需要一直使用 Rofi。
假设您不关心任何 vlc 输出:
function vlc --wraps=vlc
command vlc $argv >/dev/null 2>&1 &
disown
end
funcsave vlc
这会将 vlc 启动到后台,丢弃任何 stdout 或 stderr,然后将进程与终端分离。
如果这是你要重复做的事情,你可以这样做:
function disowner -a cmd
eval "function $cmd --wraps=$cmd
command $cmd $argv >/dev/null 2>&1 &
disown
end"
end
disowner vlc
funcsave vlc