You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3中如何让Google-Chrome在新终端独立运行?

解决Ubuntu下Python调用Chrome并在独立终端运行的问题

我完全懂你的困扰——用os.system或者普通的subprocess.call调用Chrome时,当前终端直接被卡住,根本没法继续给Python程序输入内容。下面给你几个实用的解决方案:

核心问题分析

  • os.system会阻塞当前进程,必须等Chrome关闭才会释放终端,这显然不是你想要的交互状态。
  • subprocess.call默认也是阻塞模式,shell=True只是让命令通过shell执行,但并不会自动帮你新开一个独立终端窗口。

解决方案:借助终端模拟器启动Chrome

Ubuntu 16.04默认自带gnome-terminal,我们可以用它来新开一个终端窗口运行Chrome,同时让这个进程彻底脱离当前Python会话的控制:

方法1:使用gnome-terminal(推荐)

import subprocess

# 新开gnome-terminal窗口并启动Chrome,同时脱离当前会话
subprocess.Popen(
    ['gnome-terminal', '-e', 'google-chrome'],
    start_new_session=True
)
  • gnome-terminal -e "google-chrome":告诉终端模拟器启动后立即执行Chrome命令。
  • start_new_session=True:让新终端进程脱离当前Python程序的会话组,这样就算你关闭运行Python的终端,Chrome也不会跟着被关掉。

方法2:使用xterm(轻量终端备选)

如果你偏好更轻量的终端,也可以用xterm实现同样效果:

import subprocess

subprocess.Popen(
    ['xterm', '-e', 'google-chrome'],
    start_new_session=True
)

如果系统没装xterm,执行sudo apt-get install xterm就能快速安装。

额外小技巧

要是你希望Chrome启动后,终端窗口不会立刻关闭(方便查看输出或后续操作),可以把终端命令改成这样:

subprocess.Popen(
    ['gnome-terminal', '-e', 'bash -c "google-chrome; exec bash"'],
    start_new_session=True
)

这样Chrome启动后,终端会保持打开状态,直到你手动关闭它。

设置完成后,你的Python程序终端就不会被占用,能正常接收后续输入啦!

内容的提问来源于stack exchange,提问作者RishiC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:51:25