![接続されたネットワークに応じてデフォルトのプリンタを自動的に変更するには?](https://linux33.com/image/98778/%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF%E3%82%92%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F.png)
自宅でも会社でも使用するノートパソコンがあります。私は通常、職場では1台のプリンタを使用し、自宅では家庭用プリンタを使用します。接続しているネットワークに応じて、デフォルトのプリンタを特定のプリンタに自動設定する方法はありますか?
特定のWi-Fiネットワークに接続すると、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
上記の4つのコマンドが実行するアクションは次のとおりです。
- パッケージをインストール
autorandr
すると、モニターを(分離)するたびに自動的に実行されます。必要に応じて、グラフィカルソフトウェアマネージャを介してこれを行うこともできます。 - プログラムのローカル構成用のフォルダを作成し、そのフォルダに移動します。
- プリンタの設定を管理するプラグインをダウンロードしてください。重要なことは、これが
~/.config/autorandr
フォルダ内で行われることです。 - デフォルトのプリンタ設定を含む現在の設定を保存します。
注:オフィスまたは特定のモニター設定がある別の場所で、各プロファイルに異なる名前を使用して最後のコマンドを再実行してください。
その後、ラップトップは接続したモニターに応じてデフォルトのプリンターを自動的に変更します。
答え2
2台のプリンタがインストールされている場合(デフォルトでは1つのみ)、接続時にデフォルトのプリンタを変更できます。
設定に移動し、プリンタをクリックします。デフォルトに設定するプリンタを右クリックします。デフォルト値を設定します。これはうまくいきますが、プリンタを交換するたびにこれを行う必要があります。