openSUSE Leap には X.org サーバと Wayland 、そして GNOME が含まれています。この章では、全てのユーザに対するグラフィカルユーザインターフェイスの設定方法を説明しています。
X.org サーバは X11 プロトコルを実装した事実上の標準 (de facto standard) システムです。X はネットワークベースのプロトコルであり、任意の種類のネットワークを介して、一方のホストで動作させているアプリケーションの表示を、他のホストに転送することができます。
X Window System ではほとんどの場合において設定を行う必要はありません。ハードウエアは X の起動時に動的に検出されるようになっていますので、 xorg.conf
を使用する必要もなくなっています。ただし、どうしても X の動作を変更する必要があるような場合は、 /etc/X11/xorg.conf.d/
内の設定ファイルを変更して対応してください。
openSUSE Leap 15.7 では、 Wayland が X.org サーバの代替として提供されています。インストール時に選択することもできます。
X11 について、より深い情報をご希望の場合は、 xorg-docs
パッケージをインストールしてください。 man 5 xorg.conf
では、 (必要であれば) 手作業での設定を行う際の書式に関する説明があります。 X11 の開発について、詳しくはプロジェクトのページ (https://www.x.org) をお読みください。
ドライバ類は xf86-video-*
パッケージ内 (たとえば xf86-video-ati
) に含まれています。これらのパッケージ形式で配布されているドライバは、それぞれ対応するマニュアルページ内に説明があります。たとえば ati
ドライバを使用する場合、このドライバに関する詳細は man 4 ati
で表示することができます。
サードパーティ製のドライバに関する情報は、 /usr/share/doc/packages/<パッケージ名>
内にあります。たとえば x11-video-nvidiaG03
に関する説明は、 /usr/share/doc/packages/x11-video-nvidiaG04
内にあります (ただし、パッケージをインストールしておく必要があります) 。
リモートデスクトッププロトコル (RDP) を利用してサーバに接続したい場合は、サーバ側に xrdp
パッケージをインストールしてください。
Linux でのフォントは、下記の 2 種類に分類することができます:
字体を描画するための描画命令として、数学的な記述を行っているフォントです。このような仕組みであることから、品質を損なうことなく任意のサイズに拡大や縮小をすることができます。ただしフォントを使用する際には、そのような数学的な記述をドットパターン (グリッド) に変形させる必要があります。この処理を一般的に、 フォントのラスタライズ と呼びます。また、フォントによっては ヒンティング (ビットマップへの調整のためのフォント内組み込み) 情報として、特定のサイズでの描画結果を保持させておき、描画結果を改善したり高速化したりすることもあります。ラスタライズやヒンティングの動作は、 FreeType ライブラリが担っています。
Linux での一般的なフォント形式は、 PostScript Type 1, Type 2, TrueType, OpenType です。
特定のフォントサイズ向けにドットパターンの配列を持つフォントです。ビットマップフォントは非常に高速かつシンプルに描画することができます。ただし、ベクトルフォントとは異なり、品質を損なうことなく拡大したり縮小したりすることができません。このような構造であることから、一般的には複数のサイズのフォントが同梱されています。ビットマップフォントは、現在も Linux コンソールや場合によっては端末などで使用されています。
Linux での一般的なフォント形式は、 Portable Compiled Format (PCF) と Glyph Bitmap Distribution Format (BDF) です。
フォントの外観は、主に 2 つの要素から構成されます:
フォントの特徴を決めるファミリ
利用者にとって見やすい結果を生み出すためのフォント描画アルゴリズム
後者はベクトルフォントの場合にのみ意味がある項目です。また、上記はいずれも主観的な要素が強いものですが、いくつかの既定値を作成する必要があります。
Linux のフォント描画システムは、異なる関係性を持つ複数のライブラリから構成されています。基本的なフォント描画ライブラリは FreeType で、対応する形式のフォントの字体を最適化されたビットマップ (ドットパターン) に変換します。描画処理はアルゴリズムとパラメータによって制御されています (ここに特許に関する問題が存在します) 。
FreeType を使用するプログラムやライブラリに対しては、 Fontconfig ライブラリの使用をお勧めします。このライブラリは、ユーザやシステムからのフォント設定を収集する仕組みを提供します。ユーザが Fontconfig の設定を修正すると、影響は Fontconfig に対応する全てのアプリケーションに及びます。
アラビア文字やパスパ文字 、日本語 など、より洗練された OpenType 描画やその他の高レベルなテキスト処理機能を必要とする場合は、Harfbuzz や Pango をお使いになることをお勧めします。
お使いのシステムにインストールされているフォントの概要を知るには、 rpm
や fc-list
のコマンドを使用します。いずれのコマンドとも必要な情報を出力しますが、システムやユーザの設定によっては異なる一覧を返すことがあります:
rpm
rpm
コマンドを利用することで、お使いのシステム内にどのようなフォントを含むソフトウエアパッケージがインストールされているのかを知ることができます:
>
rpm -qa '*fonts*'
それぞれのフォントパッケージは上記のコマンドで表示されますが、 fonts-config
パッケージのように、フォントそのものでもなく、フォントを含むものでもないものが、一部表示されてしまいます。
fc-list
fc-list
を実行することで、どのフォントファミリを利用できるのかを知ることができます。ただし、システム内にインストールされているものと、ユーザが独自にインストールしているものの両方が表示されます:
>
fc-list ':' family
fc-list
コマンドfc-list
は Fontconfig ライブラリに対するラッパーです。 Fontconfig を利用することで、さらに多くの興味深い、かつ正確な情報をキャッシュから問い合わせることができます。詳しくは man 1 fc-list
をお読みください。
インストールされているフォントの外観を確認したい場合は、 ftview
コマンド (ft2demos
パッケージ) を使用するか、もしくは https://fontinfo.opensuse.org/ にアクセスしてください。たとえば FreeMono フォントを 14 ポイントで表示したい場合は、下記のようにして ftview
コマンドを実行します:
>
ftview 14 /usr/share/fonts/truetype/FreeMono.ttf
さらに詳しい情報を得るには、 https://fontinfo.opensuse.org/ にアクセスしてください。ここにはスタイルに関する情報 (レギュラー, ボールド, イタリックなど) と対応する言語に関する情報が提供されています。
特定のパターンに対して適用されるフォントを確認するには、 fc-match
コマンドを使用します。
たとえばパターン内に既にインストール済みのフォントが含まれている場合、 fc-match
はファイル名とフォントファミリ、スタイルに関する情報を表示します:
>
fc-match 'Liberation Serif'
LiberationSerif-Regular.ttf: "Liberation Serif" "Regular"
もしも必要なフォントがお使いのシステム内に存在していない場合は、 Fontconfig のマッチングルールを利用して、最も近いフォントを見つけようとします。言い換えると、要求内容が置き換えられるということになります:
>
fc-match 'Foo Family'
DejaVuSans.ttf: "DejaVu Sans" "Book"
Fontconfig では、一方の名前を別のファミリ名に置き換えることのできる 別名 に対応しています。一般的には、 「sans-serif」 , 「serif」 , 「monospace」 などの一般的な名前を、実際のファミリ名やファミリ名の優先順に置き換える際に使用します:
>
for font in serif sans mono; do fc-match "$font" ; done
DejaVuSerif.ttf: "DejaVu Serif" "Book"
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
上記の結果は、システムにどのフォントがインストールされているかによって異なります。
Fontconfig は指定された要求に対して、 常に 最も近い実際のファミリ名 (少なくとも 1 つがインストールされていれば) を返します 。 「近さ」 の判断基準は Fontconfig の内部仕様と、ユーザやシステム管理者が設定した Fontconfig の設定に従って決まります。
新しいフォントをインストールするにあたっては、いくつかの主要な方法が存在します:
*.ttf
や *.otf
のようなフォントファイルを、既知のフォントディレクトリにインストールする方法があります。システム全体に対して反映させる場合は、標準のディレクトリ /usr/share/fonts
にインストールします。ユーザ個人でインストールしたい場合は、 ~/.config/fonts
にインストールします。
標準以外のディレクトリにインストールしたい場合は、 Fontconfig 側を設定する必要があります。 Fontconfig に対して <dir>
要素を追加して、ディレクトリを指定してください。詳しくは 7.2.5.2項 「fontconfig XML の紹介」 をお読みください。
zypper
を利用してフォントをインストールする方法もあります。多数のフォントが SUSE ディストリビューションの一部としてパッケージの形態で提供されているほか、 M17N:fonts リポジトリにも多数のフォントが用意されています。たとえば openSUSE Leap 15.7 で M17N:fonts リポジトリを追加する場合は、下記のようにして行います:
>
sudo
zypper ar https://download.opensuse.org/repositories/M17N:/fonts/openSUSE_Leap_15.7/
フォントファミリ名 で検索するには、下記のコマンドを使用します:
>
zypper se 'フォントファミリ名*fonts'
レンダリングの状態やフォントサイズによっては、見た目があまりきれいに描画されない場合があります。たとえば現在の一般的なモニタは 100dpi 程度の解像度ですが、そのままではドットとしては大きすぎて、角張った表示になってしまいます。
アンチエイリアス (灰色を利用した平滑化) やヒンティング (ビットマップへの調整のためのフォント内組み込み) 、サブピクセルレンダリング (一方向の解像度を 3 倍化する技術) など、低解像度でもきれいに描画するためのアルゴリズムがいくつか用意されています。これらのアルゴリズムは、フォント形式によっても異なります。
Fontconfig では、描画アルゴリズムを各フォントに対して個別に設定することができるほか、フォントセットを指定して設定することもできます。
sysconfig
を介したフォントの設定 #Edit sourceopenSUSE Leap には、 Fontconfig に対する sysconfig
と呼ばれるレイヤが用意されています。このファイルを利用すれば、最も簡単に設定を試すことができます。既定の設定を変更するには、 /etc/sysconfig/fonts-config
ファイルを編集してください (もしくは、 YaST の sysconfig モジュールを利用してもかまいません) 。ファイルを編集したら、 fonts-config
を実行します:
>
sudo
/usr/sbin/fonts-config
アプリケーションを再起動すると、効果が適用されます。ただし、下記に注意してください:
アプリケーションによっては、再起動をする必要がないものもあります。たとえば、 Firefox では Fontconfig を自動的に再読み込みします。新しく作成したタブや、タブを再読み込みすることで、新しいフォント設定を適用することができます。
fonts-config
スクリプトは、フォントパッケージをインストールしたり削除したりするごとに、自動的に呼び出されます (もしもそうでなければ、フォントパッケージのバグです) 。
それぞれの sysconfig の値は、 fonts-config
のコマンドラインオプションを使用することで、一時的に上書きすることができます。詳しくは fonts-config --help
をお読みください。
sysconfig で変更可能な変数には、様々なものがあります。詳しくは man 1 fonts-config
もしくは YaST sysconfig モジュールのヘルプページをお読みください。下記に主な変数を示します:
FORCE_HINTSTYLE
, FORCE_AUTOHINT
, FORCE_BW
, FORCE_BW_MONOSPACE
, USE_EMBEDDED_BITMAPS
, EMBEDDED_BITMAP_LANGAGES
PREFER_SANS_FAMILIES
, PREFER_SERIF_FAMILIES
, PREFER_MONO_FAMILIES
, SEARCH_METRIC_COMPATIBLE
下記の一覧では、 「最も読みやすい」 (最も濃淡のある) フォントを先に、 「最も美しい」 (最もなめらかな) フォントを後ろに並べて設定例を示しています。
PREFER_*_FAMILIES
の変数を利用することで、ビットマップフォントを優先して使用するように設定することができます。これらの値について、詳しくはヘルプセクション内の例をお読みください。ただし、ビットマップフォントは白黒の 2 値のみで描画されるフォントであり、限られたサイズの文字しか表示することができないことに注意してください。なお、
SEARCH_METRIC_COMPATIBLE="no"
を指定して、メトリック基準のファミリ名置換を無効化しておくことをお勧めします。
アウトラインフォントをアンチエイリアス処理無しで描画すると、アウトラインによる拡大/縮小の機能を生かしたまま、ビットマップフォントに似た出力を行うことができます。なお、 Liberation ファミリのように適切なヒンティング情報のあるフォントをお使いください。ただし、ヒンティングのあるフォントは少数です。この方式を強制する場合は、下記の変数を設定してください:
FORCE_BW="yes"
アンチエイリアス処理のみを無くして等幅のフォントを描画したい場合は、下記のように設定します:
FORCE_BW_MONOSPACE="yes"
全てのフォントに対してアンチエイリアス処理が行われます。適切にヒント情報が書かれたフォントであれば、 バイトコードインタプリタ (Byte Code Interpreter; BCI) を利用して描画し、それ以外のフォントは自動ヒント ( hintstyle=hintslight
) を利用して描画します。この場合、 sysconfig の設定は全て既定値に設定してください。
CFF 形式のフォントを使用します。これらは FreeType2 での最新の改善版で提供される既定の TrueType フォントよりも、より読みやすく描画されます。下記にある PREFER_*_FAMILIES
の例をご覧になり、これらのフォントをお試しください。なお、より暗く太く表示したい場合は、下記を設定します:
SEARCH_METRIC_COMPATIBLE="no"
これは既定値である hintstyle=hintslight
と比較した場合のものです。また、下記もお試しになることをお勧めします:
SEARCH_METRIC_COMPATIBLE="no"
たとえ十分なヒント情報のあるフォントであっても、 FreeType2 の自動ヒント機能を使ってみる価値があります。この仕組みにより、低解像度の環境でもより太く滑らかに表示することができます。この機能を有効化するには、下記とおり変数を設定します:
FORCE_AUTOHINTER="yes"
ヒント処理のレベルを制御したい場合は、 FORCE_HINTSTYLE
をお使いください。
Fontconfig の設定形式は、 eXtensible Markup Language (XML) と呼ばれる形式になっています。下記のいくつかの設定例は完全なリファレンスにはなっていませんが、簡潔な説明としては十分であるものと考えております。詳細やその他の考え方について、詳しくは man 5 fonts-conf
や /etc/fonts/conf.d/
をお読みください。
Fontconfig での中心的な設定ファイルは /etc/fonts/fonts.conf
です。また、 /etc/fonts/conf.d/
以下にある設定も自動的に取り込まれるよう設定されています。 Fontconfig をカスタマイズするには、下記のいずれかの場所で設定を行ってください:
システム全体の変更: /etc/fonts/local.conf
ファイルを編集してください (既定では、何も要素の入っていない fontconfig
タグが書かれているだけのはずです) 。
ユーザ固有の変更: ~/.config/fontconfig/fonts.conf
ファイルを編集するか、独自にファイルを作成してある場合は ~/.config/fontconfig/conf.d/
ディレクトリ内に置いてもかまいません。
ユーザ固有の変更は、システム全体の変更を上書きして動作します。
~/.fonts.conf
ファイルは廃止予定とされているものであり、現在は使用すべきではありません。代わりに ~/.config/fontconfig/fonts.conf
をお使いください。
それぞれの設定ファイルには、 fontconfig
というタグ要素が存在する必要があります。このような構造から、最小限の設定ファイルは下記のようになります:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Insert your changes here --> </fontconfig>
既定のディレクトリでは不十分な場合、 dir
要素を入れてディレクトリを指定します:
<dir>/usr/share/fonts2</dir>
Fontconfig では、 再帰的に フォントを検索します。
フォントの描画アルゴリズムは、それぞれ 例7.1「レンダリングアルゴリズムの指定」 のように指定することで選択することができます:
<match target="font"> <test name="family"> <string>ファミリ名</string> </test> <edit name="antialias" mode="assign"> <bool>true</bool> </edit> <edit name="hinting" mode="assign"> <bool>true</bool> </edit> <edit name="autohint" mode="assign"> <bool>false</bool> </edit> <edit name="hintstyle" mode="assign"> <const>hintfull</const> </edit> </match>
フォントに対する様々なプロパティをテストすることができます。たとえば <test>
要素はフォントファミリ (上記の例のように) のほか、サイズ間隔やスペーシング、フォント形式など様々なものがあります。 <test>
で指定する以外にも、全てのフォントに対して適用する場合は <edit>
要素を使用することもできます。
<alias> <family>Alegreya SC</family> <default> <family>serif</family> </default> </alias>
<alias> <family>serif</family> <prefer> <family>Droid Serif</family> </prefer> </alias>
<alias> <family>serif</family> <accept> <family>STIXGeneral</family> </accept> </alias>
例7.2「別名とファミリ名の置き換え」 にあるルールは、 優先ファミリリスト (PFL; Prioritized Family List) を作成しています。それぞれ要素によって異なる処理を行っています:
これらを組み合わせて、たとえば設定ファイルの中で ルール 1 - ルール 2 - ルール 3 の順に現れたとし、ユーザが 「Alegreya SC」 を要求すると、 PFL は 表7.1「fontconfig ルールからの PFL の生成」 のように構築されることになります。
Fontconfig の方式では、他のパターンやスタイル、サイズなどと比べて、ファミリ名は最優先の順位が設定されます。 Fontconfig では、システムにインストールされているフォントファミリを確認し、もしも 「Alegreya SC」 がインストールされている場合、 Fontconfig はそのまま返します。インストールされていない場合は、 「Droid Serif」 などを探そうとします。
なお、 Fontconfig の設定順序を変えてしまうと、 Fontconfig が異なる動作をしてしまうことになります。たとえば 表7.2「順序を変更した fontconfig ルールから生成した PFL による結果」 のようになります。
<default>
で指定した別名は、このグループに対する分類や包含 (インストールされていなければ) の意味があるものとお考えください。例に示されているとおり、 <default>
の設定は、そのグループに対する<prefer>
と <accept>
よりも常に優先して動作します。
<default>
の分類は、 serif, sans-serif, monospace に対する一般的な別名だけに限りません。より複雑な例については、 /usr/share/fontconfig/conf.avail/30-metric-aliases.conf
をお読みください。
下記 例7.3「別名とファミリ名の置き換え」 の Fontconfig の設定例では、 serif
というグループを作成しています。このグループ内の各ファミリは、前のフォントがインストールされていない場合に、後ろ側のフォントで置き換える動作をします。
<alias> <family>Alegreya SC</family> <default> <family>serif</family> </default> </alias> <alias> <family>Droid Serif</family> <default> <family>serif</family> </default> </alias> <alias> <family>STIXGeneral</family> <default> <family>serif</family> </default> </alias> <alias> <family>serif</family> <accept> <family>Droid Serif</family> <family>STIXGeneral</family> <family>Alegreya SC</family> </accept> </alias>
優先順位は <accept>
の順序で設定されています。なお、より強い <prefer>
の別名を使用することもできます。
例7.4「別名とファミリ名の置き換え」 は例7.2「別名とファミリ名の置き換え」 をさらに拡張する設定です。
<alias> <family>serif</family> <accept> <family>Liberation Serif</family> </accept> </alias>
<alias> <family>serif</family> <prefer> <family>DejaVu Serif</family> </prefer> </alias>
例7.4「別名とファミリ名の置き換え」 によって拡張した設定は、下記のような PFL になります:
順序 |
その時点での PFL |
---|---|
要求 |
|
| |
| |
| |
| |
|
同じ汎用名に対して <accept>
の定義が複数存在する場合、最後に処理された定義が 「勝ち残ります」 。また、可能であれば、システム全体の設定を作成する際に、ユーザ設定 ( /etc/fonts/conf.d/*-user.conf
) の 後ろで <accept>
を使用しないでください。
同じ汎用名に対して <prefer>
の定義が複数存在する場合、最後に処理された定義が 「勝ち残ります」 。また、可能であれば、システム全体の設定を作成する際に、ユーザ設定 ( /etc/fonts/conf.d/*-user.conf
) の 前に <prefer>
を使用しないでください。
それぞれの <prefer>
宣言は、同じ汎用名に対する <accept>
宣言を上書きします。もしも管理者がユーザに対して <prefer>
だけでなく <accept>
も使用させたい場合は、管理者はシステム全体の設定で <prefer>
を使用しないでください。一方のユーザは <prefer>
を多く使用しますが、こちらについては問題はありません。ただ、システム全体の設定で <prefer>
が使用されているのをよく見かけます。
dconf
システム #Edit sourceGNOME デスクトップでは、設定を dconf
というシステムで管理します。これは階層構造化されたデータベースやレジストリと呼ばれるような仕組みで、ユーザは自分自身の設定を、システム管理者は全てのユーザに対する既定値や必須の設定などを行うことができる仕組みです。 dconf
は GNOME 2 で使用されていた gconf
を置き換えるものでもあります。
グラフィカルユーザインターフェイスで dconf
のオプションを表示するには、 dconf-editor
を使用します。コマンドラインで設定にアクセスしたり、変更したりしたい場合は、 dconf
コマンドを使用します。
GNOME では通常の GNOME 設定に加えて、さらに細かい設定を行うための使いやすい 調整
ツールを提供しています。このツールは GNOME のアプリケーションメニューから起動することができるほか、 gnome-tweak-tool
コマンドでも起動することができます。
グローバルな dconf
設定パラメータは、 /etc/dconf/db/
ディレクトリ内に設定します。ここには GDM に対する設定のほか、特定のオプションをユーザから変更させないような設定も含まれます。
システム全体の設定を作成したい場合は、たとえば下記のような手順で行います:
/etc/dconf/db/
内に、 .d
で終わる新しいディレクトリを作成します。このディレクトリには、テキストファイル形式で任意の設定を行うことができます。この例では、 /etc/dconf/db/network.d/00-proxy
というファイルを作成して、下記の内容を入力します:
# ここはコメントです [system/proxy/http] host='10.0.0.1' enabled=true
新しく追加した内容を dconf データベース形式に取り込むには、下記のように実行します:
>
sudo
dconf update
新しく作成した network
の設定データベースを既定のユーザプロファイルに追加します。 /etc/dconf/profile/user
ファイルを作成して、下記の内容を入力します:
system-db:network
/etc/dconf/profile/user
は GNOME の既定値を表すファイルです。その他のプロファイルについては、環境変数 DCONF_PROFILE
で指定します。
必要であれば、プロキシの設定をユーザに変更させないようにすることもできます。この場合は、/etc/dconf/db/network/locks/proxy
ファイルを作成して、変更させたくないキーを一覧で入力します:
/system/proxy/http/host /system/proxy/http/enabled
グラフィカルな dconf-editor
を使用することで、 1 人のユーザでプロファイルを作成することができます。その後 dconf dump /
を実行することで、全ての設定オプションを一覧表示することができます。設定オプションは、グローバルプロファイル内に保存されます。
グローバル設定に関する詳細な説明は、 https://wiki.gnome.org/Projects/dconf/SystemAdministrators にあります。
さらに詳しく知るには、 https://help.gnome.org/admin/ をお読みください。
SUSE Prime は、 Intel 社製のオンボードのグラフィック処理ユニット (GPU) に加えて NVIDIA 社製の GPU を搭載した製品のうち、 Optimus と呼ばれる切り替え技術に対応したもの向けのツールです。 Optimus は Intel 社の内蔵 GPU と NVIDIA 社の外付け GPU を簡単に切り替えることができるツールです。これはラップトップでの省電力と性能向上の両方を兼ね備えるための仕組みで、省電力が必要な場合は Intel 社製の内蔵 GPU を、 3D アプリケーションなど性能が必要な場面では NVIDIA GPU をそれぞれ動作させる目的で使用します。
SUSE Prime は X11 の動作するシステムでのみ効果があり、 Wayland には対応していません。お使いのシステムが Wayland で動作している場合は、まず Wayland を無効化して X11 に切り替えてください (詳しくは 7.4.1項 「事前要件」 をお読みください) 。
まずは openSUSE コミュニティリポジトリが提供する NVIDIA プロプライエタリドライバを利用して、 NVIDIA Optimus GPU (詳しくは 7.4.3項 「NVIDIA ドライバのインストール」 と Intel GPU をそれぞれ動作させてください。なお、 NVIDIA Optimus 向けの古い切り替えツールである Bumblebee については、インストールしてはなりません。
また、 /etc/X11/xorg.conf
ファイルを使用してはなりません。さらに、 /etc/X11/xorg.conf.d
ディレクトリ内に、 ServerLayout
, Device
, Screen
のセクションを含む設定ファイルを含んでいてもいけません。
SUSE Prime は X11 でのみ動作します。 loginctl
を使用することで、お使いのシステムが X11 で動作しているのか、もしくは Wayland で動作しているのかを確認することができます:
>
loginctl SESSION UID USER SEAT TTY 2 1000 tux seat0>
loginctl show-session 2|grep Type Type=x11
お使いのシステムが Wayland を使用している場合は、 /etc/gdm/custom.conf
ファイルを編集して WaylandEnable=false
の行のコメントを外したあと、システムを再起動してください。
下記の手順を実施する前に、 NVIDIA グラフィックカード向けのドライバがインストールされ、動作していることをご確認ください。詳しくは 7.4.3項 「NVIDIA ドライバのインストール」 をお読みください。
まずは suse-prime パッケージをインストールします:
>
sudo
zypper install suse-prime
下記のコマンドのいずれかを実行することで、 GPU を切り替えることができます。実行後はいったんログアウトして、ログインし直してください:
>
sudo
prime-select intel>
sudo
prime-select intel2>
sudo
prime-select nvidia
modesetting ドライバの場合は intel
を、 xf86-video-intel ドライバの場合は intel2
を指定してください。また、 inxi パッケージをインストールして実行することで、ドライバに関する情報を取得することもできます:
>
inxi -G
Graphics: Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
Display Server: x11(X.org 1.20.1 ) drivers: modesetting (unloaded: fbdev, vesa)
Resolution: 1920x1080@60.00hz
OpenGL: renderer: Mesa DRI Intel Haswell Desktop version: 4.5 Mesa 18.2.8
現在どちらの GPU を使用しているのかを確認するには、下記のように入力して実行します:
>
sudo
/usr/sbin/prime-select get-current Driver configured: intel
まずはお使いの NVIDIA カードの型番を識別して、使用すべきドライバを判別します。下記のようなコマンドを入力して実行してください:
>
/sbin/lspci | grep VGA
あとは zypper を利用してドライバのインストールを行います。まずはお使いのディストリビューションに対応したコミュニティリポジトリを追加します。 openSUSE Tumbleweed の場合は、下記のように入力して実行します:
>
sudo
zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed nvidia
openSUSE 15.7 の場合は、下記のように入力して実行します:
>
sudo
zypper addrepo --refresh https://download.nvidia.com/opensuse/leap/15.7 nvidia
次に利用可能なドライバパッケージの一覧を表示させます:
>
sudo
zypper se nvidia
最後にお使いの NVIDIA グラフィックカードに対応したドライバをインストールします:
>
sudo
zypper se パッケージ名