如何在 Ubuntu 网络连接后自动启动程序?

use*_*661 6 lubuntu

网络连接后如何在 lubuntu 中自动启动铬?

我试图添加它 ~/.config/autostart/ 但铬在 wifi 连接之前启动,因此显示错误页面。

我已经通过 Google 进行了搜索,但仍然找不到任何解决方案。

Joe*_*Joe 4

我不知道一种优雅的方法,但这是一种应该可行的方法。

编写一个脚本来测试您是否在线。如果没有,请休眠一段时间,然后再循环测试。当你上线时,启动 chrome 并退出,等等。将该脚本放入你的自动启动目录中。

在bash中,等待命令是sleep。它需要一个参数来表示您想要等待的秒数。它可以防止您的脚本过于频繁地测试并耗尽资源。

诀窍是确定您是否在线。一种方法是做一些小事情,如果您不在线,这些事情就会失败。下面是一个应该足以让您入门的技巧(如果您了解 bash)。我在网络上的某个地方找到了 wget 命令技巧,我不确定它到底是做什么的,但它很快而且有效。

你必须用 chrome 替换你的路径。

chrome 行末尾的 & 符号会导致 chrome 在后台执行,因此您的脚本不会挂在该行上,直到 chrome 退出。它将继续并正常终止,让 chrome 自行运行。

如果你想变得更奇特,有一种方法可以将任务的进程ID保存到文件等中,这样你就可以轻松找到它并在以后如果你决定不希望chrome在你上线时启动时将其杀死在特定的会话中。但是,这有点超出了您的问题范围。(我不记得该怎么做;))

#!/bin/bash

function online {
  ## Test if online - prototype code
  wget -q -O /dev/null --timeout=5 http://udc.msn.com/c.gif
  return $?
}

until online
do
  sleep 5
done

/opt/google/chrome/google-chrome &
Run Code Online (Sandbox Code Playgroud)