CentOS7にプリンタを追加しようとしてXシステムを入れる羽目になった話

今事務所でCentOS7、Windows10、MacBookAirを使っています。

今はメインはWindows10ですが、徐々にMacBookAirに移行したいと思っています。

CentOS7は補佐的な位置づけにしています。

今回CentOS7を、プリンタでスキャンしたファイルの保存先にしようとしてだいぶてこずったので、自分用覚書にもなるよう、手順を書いておきます。

CUPSで管理

参考にしたのはこちらのサイト↓

CentOS7ネットワーク共有プリンターの設定方法

まずはアップデートがないか、yumコマンドを打って確認します。

# yum update

これが長かったです。ずっとCentOS7を使っていなかったので、だいぶ長いことかかりました。

それからwgetコマンドをインストールします。

# yum install wget

これで、wgetコマンドをインストールできました。

ホストOS(Windows)から、印刷したいネットワーク共有プリンターのIPアドレスを調べます。

調べ方は、Windowsマークで右クリック→エクスプローラー→ネットワーク→対象のプリンタの上で右クリック→プロパティ

プリンタのIPアドレス(画像の一部を加工してあります)

CUPSのインストールとファイアウォールの設定

cupsをインストールします。

# yum install cups cups-devel

外部から接続できるように/etc/cups/cupsd.confを書き換えます。

この辺の書き換えの方法は、

CentOS7ネットワーク共有プリンターの設定方法

を参照してください。私はこちら↑のサイトを見てそのまま修正(追加)しました。

#Only listen for connections from the local machine.
#Listen localhost:631
Listen 631
Listen /var/run/cups/cups.sock
#Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd

・・・(中略)・・・

#Restrict access to the server…
<Location />
Order allow,deny
Allow From All
</Location>

#Restrict access to the admin pages…
<Location />
Order allow,deny
Allow From All
</Location>

#Restrict access to configuration files…
<Location />
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow From All
</Location>

・・・(後略)・・・

ハイライトが追加した文字です。

それから、ファイアーウォールにIPP(ポート番号:631)の穴を開けます。この辺のやり方も、

CentOS7ネットワーク共有プリンターの設定方法

と同じです。

# firewall-cmd --get-services|grep ipp

現在のファイアウォールにippがあるか探して、ippがあればOK。コマンドを叩いて、ファイアウォールにサービスを追加をします。

# firewall-cmd --add-service=ipp --permanent
# firewall-cmd --reload

この辺までは迷うことはなく、順調でした。

CUPSをGUIで設定

CUPSをGUIで設定します。

はい!ここで壁にぶつかりました。

手順ではここで「ブラウザを開いて http://サーバアドレス:631にアクセスし、上記メニューの管理をクリックします。」とあります。

ブラウザ・・・・しまった!最小インストールだから、入れていない!と気が付きました。

お手本とした手順の環境はフルインストールだそうです。

仕方がないので、CentOS7にgoogle-chromeをインストールすることにしました。

方法はいろいろあるようですが、私はリポジトリを登録してyumでパッケージ管理する方法にしました。

# vi /etc/yum.repos.d/google.chrome.repo

↑これはこのサイト↓を参考にしました。

CentOS7・CentOS8 Google Chromeをインストールする

ファイル名が”google.chrome.repo”となっているのですが、果たしてこれで正しいのかよく分かりません。というのも、google-chromeをインストールしたときにも自動的にrepoが作成されまして、そのときのファイル名が”google-chrome.repo”だったからです(ドットがハイフンに変わった)。

# cd /etc/yum.repos.d/
# ls
CentOS-Base.repo       CentOS-Sources.repo        google-chrome.repo
CentOS-CR.repo         CentOS-Vault.repo          google.chrome.repo
CentOS-Debuginfo.repo  CentOS-fasttrack.repo
CentOS-Media.repo      CentOS-x86_64-kernel.repo
#

“google.chrome.repo”の中身は、こんな感じです。

# cat google.chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

#

↑これは、CentOS7・CentOS8 Google Chromeをインストールするで紹介されていたまま、私がタイプしました。

“google-chrome.repo”の中身は、こんな感じです。

# cat google-chrome.repo
[google-chrome]
name=google-chrome
baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub
#

違うのは$basearchのところがx86_64になっている点です。

どう違うのか分かりません。

ともあれ、あとはyumコマンドでインストールしていけばよいのです。

# yum search google chrome
読み込んだプラグイン:fastestmirror, langpacks
Repository google-chrome is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * base: ftp.jaist.ac.jp
 * extras: ftp.jaist.ac.jp
 * updates: ftp.jaist.ac.jp
========================= N/S matched: google, chrome ==========================
google-chrome-beta.x86_64 : Google Chrome (beta)
google-chrome-stable.x86_64 : Google Chrome
google-chrome-unstable.x86_64 : Google Chrome (unstable)

  Full name and summary matches only, use "search all" for everything.
#

yumコマンドでsearchすると3つパッケージが見つかります。

上からbeta版、stable版、unstable版です。

beta版とunstable版は無視し、stable版をインストールすればよいです。

# yum install google-chrome-stable

これでgoogle-chromeがインストールされたはず。

# google-chrome

早速google-chromeを起動しようとしましたが、これはエラーとなりました。

なぜかroot権限では起動できないんだそうです。

rootでも強引に起動する方法はあるそうで、no-sandboxオプションをつけて起動すればよいとWebにありました。

# google-chrome --no-sandbox

ところがこれもエラーとなりました。なんで!?

一般ユーザにしてみれば動くかな?とsu(スイッチユーザ)しました。

GoogleChromeが起動しない

$ google-chrome
[6983:6983:0827/154959.559038:ERROR:ozone_platform_x11.cc(247)] Missing X server or $DISPLAY
[6983:6983:0827/154959.559135:ERROR:env.cc(226)] The platform failed to initialize. Exiting.
$

一般ユーザでgoogle-chromeコマンドを叩いてもエラーになりました(プロンプトが#から$に変更になっているのに注目)。

なんで!?

エラーメッセージをよく読んだら、X serverが見つからないとのこと。

あーーー、そういえば最小インストールにしていたので、X Window Systemは入れていませんでした。

という訳で、X Windows Systemもインストールすることに。

X Windos Sysemをインストール

参考にしたのはこちらのサイト↓

# yum groupinstall "X Window System"

で、X ウィンドウシステムをインストール。これにはえらい時間がかかります。

# yum groupinstall "GNOME Desktop"

で、GNOMEデスクトップをインストール。これにもえらい時間がかかりました。

# reboot

最後にリブート(再起動)。

これで無事Xシステムが入りましたが、結局最小インストールにしておいたメリットがなくなってしまいましたorz

Xシステムが起動したところ。

あとはブラウザを立ち上げて、プリンタを追加してドライバをインストールして・・・という作業になりますが、こちら↓のサイトが詳しいので見てください(他力本願)。

CentOS7ネットワーク共有プリンターの設定方法

なお、私のプリンタはEpsonでして、Epsonからドライバをダウンロードするとき、Windows用とMac用のダウンロードサイトを探してもだめで、Epson Download Centerで探す必要がありました。

↑通常のドライバーのダウンロードサイトではLinux用のドライバーはありません。

https://download.ebz.epson.net/dsc/search/01/search/searchModule

こちらに型番とOS(Linux)を入れて検索しますと、Linux用のドライバーがヒットします。

以上です。

やりたかったのはCentOS7にプリンタを追加することだけだったのに、えらい遠回りになりました。

ここまでお読みいただきありがとうございました。