Linux 从Bash脚本启动Bash脚本以启动GUI应用程序

Linux 从Bash脚本启动Bash脚本以启动GUI应用程序,linux,bash,shell,startup,gnome-terminal,Linux,Bash,Shell,Startup,Gnome Terminal,我正试图在Ubuntu上启动一个GUI应用程序(rhythmbox)。在下文中,我试图解释执行文件的链 # Window manager executes first ~/i3wm_cmd_wrapper.sh Window_Name ~/mount_enc.sh 这个包装器使用gnome终端来执行东西。这样可以在启动时打开终端,用户可以在其中输入信息 # mount_enc.sh launches the following command in the end bash ~/launch

我正试图在Ubuntu上启动一个GUI应用程序(rhythmbox)。在下文中,我试图解释执行文件的链

# Window manager executes first
~/i3wm_cmd_wrapper.sh Window_Name ~/mount_enc.sh
这个包装器使用gnome终端来执行东西。这样可以在启动时打开终端,用户可以在其中输入信息

# mount_enc.sh launches the following command in the end 
bash ~/launch_in_bg.sh rhythmbox
mount_enc.sh的功能与从正常端子启动时的功能完全相同。但我想在启动时自动启动它,在脚本完成后,rhythmbox应该保持打开状态

# launch_in_bg.sh is just doing what it's supposed to 
($PRGRM > /dev/null 2>&1) &

我无法让gnome终端为我打开盒子。另外,如果我想在gnome终端执行完mount_enc.sh脚本后让Rhythymbox继续运行,我认为我的方法是错误的。有人能想出更好的解决方案吗?

如果您从控制台(即使在后台)打开一个程序,该程序的进程是控制台进程的子进程,并且将在控制台进程终止时终止。 为了保持程序进程运行,必须将其与控制台进程分离。可以通过多种方式进行分离。一些例子:

nohup rhythmbox &

要抑制输出,请在脚本中使用重定向

rhythmbox & disown