如何根据连接的网络自动更改默认打印机?

如何根据连接的网络自动更改默认打印机?

我有一台在家和工作时使用的笔记本电脑。工作时我一般使用一台打印机,在家时我使用家用打印机。有没有办法根据我连接的网络自动将默认打印机设置为特定打印机?

如果我连接到某个 wifi 网络,Linux Mint 可以自动连接到特定的 VPN。 Linux 中是否有某种钩子在激活特定网络连接时触发?

我更喜欢一个应用程序或类似的应用程序(如果存在),但如果需要,我愿意编写脚本。

如果当前没有这样的功能,我需要使用哪些事件/挂钩来检测网络连接的变化,然后我将使用什么命令来更改默认打印机?

答案1

我做了一个小项目使用 Bash 根据连接的显示器创建不同的打印机配置文件。我的系统确实可以工作,尽管原因是错误的:它不是查看可用的网络或打印机,而是在您在工作和家里插入不同的显示器时触发。

正是基于此Python 重写 autorandr它根据连接的设备选择适当的显示配置。

要安装我的项目,请打开终端并输入以下内容:

sudo apt install autorandr
mkdir -p ~/.config/autorandr && cd ~/.config/autorandr
git clone https://github.com/Noughtnaut/noughty-autorandr.git
autorandr -s some_name_here

这就是上面四个命令的作用:

  1. 安装该autorandr软件包,每当您(拔下)插入显示器时该软件包都会自动运行。如果您愿意,也可以通过图形软件管理器来完成此操作。
  2. 为程序的本地配置创建一个文件夹并导航到该文件夹​​。
  3. 下载管理打印机默认设置的插件。重要的是,这是在~/.config/autorandr文件夹内部完成的。
  4. 存储您当前的设置 - 包括默认打印机的设置。

注意:在办公室或具有特定显示器设置的任何其他地方再次运行最后一个命令,对每个配置文件使用不同的名称。

此后,您的笔记本电脑将根据您连接的显示器自动更改默认打印机。

答案2

如果您安装了两台打印机(默认只能安装一台),则可以在连接打印机时更改默认打印机。

转到设置,然后单击打印机。右键单击要设置为默认的打印机。设置默认值。这应该可行,但每次更换打印机时都必须这样做。

相关内容