

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Linux Amazon DCV サーバーでのプリンターの設定
<a name="manage-printer"></a>

Amazon DCV では、ローカルにリダイレクトされたプリンターまたは仮想 Amazon DCV プリンターに印刷できます。

サポートされている Linux ディストリビューションを使用している場合は、印刷をサポートするように Amazon DCV サーバーを設定する必要があります。

Windows Amazon DCV サーバーを使用している場合は、追加の設定は必要ありません。

**Linux Amazon DCV サーバーでプリンターのリダイレクトを有効にする方法**

1. サーバーに `CUPS` サービスをインストールします。
   + Amazon Linux 2、RHEL、CentOS

     ```
     $ sudo yum install cups
     ```
   + Ubuntu

     ```
     $ sudo apt-get install cups
     ```
   + SUSE Linux Enterprise

     ```
     $ sudo zypper install cups
     ```

1. `dcv` ユーザーをプリンター管理者グループに追加します。プリンター管理者グループの名前は、オペレーティングシステムごとに異なる場合があります。例えば、プリンター管理者グループに `lpadmin` という名前が付けられている場合、以下のコマンドを実行します。

   ```
   $ usermod -a -G lpadmin dcv
   ```

1. このプリンター管理者グループが cups 設定ファイルの `SystemGroup` パラメータに引用されていることを確認してください。例えば、プリンター管理者グループに `lpadmin` という名前が付けられている場合、テキストエディタを使用して `/etc/cups/cups-files.conf` を開き、次の行を検索します。

   ```
   SystemGroup lpadmin
   ```

   設定ファイルにその行が表示されたら、インストールは完了です。次のステップに進みます。

   設定ファイルに行が表示されない場合は、次の形式の行を手動で追加し、ファイルを保存して閉じます。

   ```
   SystemGroup printer_admin_groupname
   ```

1. (SUSE Linux Enterprise のみ) プリンター管理者グループが cups ローカル証明書を読み取る許可を取得していることを確認します。この証明書は `/var/run/cups/certs/` ディレクトリにあります。例えば、プリンター管理者グループに `lpadmin` という名前が付けられている場合、以下のコマンドを実行します。

   ```
   $ sudo chgrp -R lpadmin /var/run/cups/certs/ && chmod g+x /var/run/cups/certs
   ```

1. `cups` サービスを再起動します。

   ```
   $ sudo systemctl restart cups
   ```

1. Amazon DCV サーバーを[停止](manage-stop.md)して[再起動](manage-start.md)します。

## プリンター問題のトラブルシューティング
<a name="troubleshoot"></a>

SUSE Linux Enterprise と RHEL 8 がプリンターソケットへの接続を妨げる可能性があります。これらのオペレーティングシステムのいずれかを実行しているときに印刷に問題が生じた場合は、ログファイルを調べて、このことが原因かどうかを判断してください。

テキストエディタを使用して `/var/log/audit/audit.log` を開き、ログに次のような行があるかどうかを確認します。

```
type=AVC msg=audit(1617716179.487:504): avc:  denied  { connectto } for  pid=33933 comm="dcvcupsbackend" path=002F636F6D2F6E696365736F6674776172652F6463762F637570732F636F6E736F6C65 scontext=system_u:system_r:cupsd_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket permissive=0
```

ログファイルに同様の行が表示されている場合、オペレーティングシステムがプリンターソケットへのアクセスを妨げています。

この問題を解決するには、プリンターソケットへのアクセスを許可する CUPS ポリシーを作成する必要があります。これを作成するには、次のステップを実行します。

1. 必要なポリシーファイルを作成します。任意のテキストエディタを使用して、`cupsd_policy` という名前の新規ファイルを作成し、以下のコンテンツを追加します。

   ```
   #============= cupsd_t ==============
   allow cupsd_t unconfined_t:unix_stream_socket connectto;
   ```

1. ポリシーをインストールします。

   ```
   $ ausearch -c 'dcvcupsbackend' --raw | audit2allow -M dcv-printer-policy
   ```

   ```
   $ semodule -X 300 -i dcv-printer-policy.pp
   ```