カーソルテーマ

提供: ArchWiki
ナビゲーションに移動 検索に移動

ディスプレイサーバーには GUI のナビゲーションや操作を楽にするカーソルテーマが付属しています。ディスプレイサーバーにカーソルテーマは含まれていますが、他のカーソルテーマをインストールして選択することもできます。

インストール

パッケージを使ってインストールするか、適当なディレクトリにダウンロード・解凍してインストールします。

パッケージ

カーソルテーマは公式リポジトリと AUR からインストールできます:

手動

カーソルテーマが公式リポジトリや AUR にない場合、手動で追加することができます。カーソルテーマをダウンロードすることができるウェブサイトは星の数ほどあります。ダウンロードしたら、icons ディレクトリに配置して下さい (カーソルはアイコンテーマと一緒に配布されていることがあります)。

カーソルテーマを入手できるウェブサイト:

ユーザー個別にインストールする場合、~/.local/share/icons/ または ~/.icons/ ディレクトリを使います。次のコマンドを使えば大抵のアーカイブを展開できます:

$ tar xvf foobar-cursor-theme.tar.gz -C ~/.local/share/icons

カーソルテーマのディレクトリは theme-name/cursors です。例: ~/.local/share/icons/theme/cursors/。展開したファイルがこのディレクトリを含んでいることを確認して下さい。

ノート: システム全体にインストールする場合 /usr/share/icons ディレクトリを使います。このディレクトリにファイルを手動で配置することは pacman で追跡できなくなるので推奨されません。代わりにカーソルテーマのパッケージを作成することを推奨します。

インストールしたカーソルテーマは次のコマンドで確認できます:

find /usr/share/icons ~/.local/share/icons ~/.icons -type d -name "cursors"

パッケージに index.theme ファイルが含まれているときは、そのファイルの中に "Inherits" 行があるかどうか確認してください。もしその行があれば、システムにその名前で継承されるテーマが存在しているか確認してください (必要なら名前を変更してください)。

設定

カーソルテーマを設定する方法は複数あります。

XDG の仕様

この方法は X11Wayland 両方のカーソルテーマに適用されます。

ユーザー個別に設定する場合、~/.icons/default/index.theme を作成・編集してください。システム全体に設定する場合、/usr/share/icons/default/index.theme を編集します。

[icon theme] セクションの Inherits オプションを xcursor テーマのディレクトリ名 cursor_theme_name に設定する必要があります (例: xcursor-breeze-snow):

~/.icons/default/index.theme
[icon theme] 
Inherits=cursor_theme_name

それから ~/.config/gtk-3.0/settings.ini を編集してください (cursor_theme_name を使用するテーマに置き換えてください):

~/.config/gtk-3.0/settings.ini
[Settings]
gtk-cursor-theme-name=cursor_theme_name

変更を適用するには再ログインが必要です。

LXAppearance

LXAppearance#XDG の仕様 で指定されている index.theme ファイルを作成することでデフォルトカーソルを設定します。

デスクトップ環境

デスクトップ環境XSETTINGS プロトコル を使います。通常は設定デーモンによって実装されます。オンザフライでカーソルを変更することができますが、適用されるテーマがアプリケーションによって異なってしまう可能性があります。手動でカーソルテーマを変更する方法は #XDG の仕様 を見て下さい。

GNOME

GNOME でテーマを変更するには gnome-tweaks を使用するか、次のコマンドで直接設定します:

gsettings set org.gnome.desktop.interface cursor-theme theme-name

カーソルのサイズを変更するには (テーマによりますが選べるサイズは 24, 32, 48, 64 です):

gsettings set org.gnome.desktop.interface cursor-size theme-size
ノート: Wayland ではデフォルトで、Gnome アプリケーションは ~/.local/share/icons に置かれているカーソルテーマを表示することができません。対応策として、パスを XCURSOR_PATH に追加してください。

MATE

MATE では mate-control-center または gsettings を使います。テーマを変更するには:

gsettings set org.mate.peripherals-mouse cursor-theme theme-name

サイズを変更するには:

gsettings set org.mate.peripherals-mouse theme-size

XFCE

xcursor テーマを変更するには:

xfconf-query --channel xsettings --property /Gtk/CursorThemeName --set cursor_theme_name

サイズを変更するには:

xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --set cursor_theme_size

X resources

ローカルでカーソルテーマに名前を付けるには、~/.Xresources ファイルに以下を加えて下さい:

Xcursor.theme: cursor-theme

カーソルテーマを正しくロードするには ~/.Xresources がウィンドウマネージャによって呼び出される必要があります。呼び出されない場合、次のコマンドを ~/.xinitrc.xprofile に置くことで強制的にロードするようにできます:

$ xrdb ~/.Xresources

カーソルテーマが複数のサイズをサポートしている場合、任意で次の行を ~/.Xresources に追加できます:

Xcursor.size: 16
ヒント: 32, 48, 64 も指定できます。

サポートされているカーソルサイズがわからない場合は、この設定を使わずに X を起動してカーソルサイズを自動的に選ばせるようにしてください。詳しくはウィンドウマネージャのドキュメントを参照してください。

環境変数

環境変数を使って単一のアプリケーションでテーマを設定して、一時的に試してみることができます:

$ XCURSOR_THEME=SomeThemeName xclock

カーソルテーマが複数のサイズをサポートしている場合は XCURSOR_SIZE は任意です。

カーソルテーマを ~/.local/share/icons にインストールしている場合、問題を避けるためにパスを XCURSOR_PATH に追加してください。例:

~/.bash_profile
export XCURSOR_PATH=${$XCURSOR_PATH}:~/.local/share/icons

ディスプレイマネージャ

ディスプレイマネージャの中でもカーソルテーマを設定することはできますが、ユーザーセッションにはカーソルテーマが持ち越されないことがあるので注意してください。

GDM

GDM#カーソルテーマの変更を見てください。

トラブルシューティング

欠けているカーソルへのリンクを作成

テーマにカーソルが欠けているとき、アプリケーションがデフォルトのカーソルを使いつづけるかもしれません。こういった場合は、欠けているカーソルへのリンクを追加して修正できます。例:

$ cd ~/.icons/foobar/cursors/
$ ln -s right_ptr arrow
$ ln -s cross crosshair
$ ln -s right_ptr draft_large
$ ln -s right_ptr draft_small
$ ln -s cross plus
$ ln -s left_ptr top_left_arrow
$ ln -s cross tcross
$ ln -s hand hand1
$ ln -s hand hand2
$ ln -s left_side left_tee
$ ln -s left_ptr ul_angle
$ ln -s left_ptr ur_angle
$ ln -s left_ptr_watch 08e8e1c95fe2fc01f976f1e063a24ccd

上のリンクが問題を解決しないときは、テーマに欠けているカーソルを /usr/share/icons/whiteglass/cursors で探して、同じようにリンクを作成してください。

ヒント: 不要なカーソルを削除することもできます。例えば"時計"カーソルを削除するには:
$ cd ~/.icons/theme/cursors/
$ rm watch left_ptr_watch
$ ln -s left_ptr watch
$ ln -s left_ptr left_ptr_watch

欠けているカーソルを補う

プログラムによってはカスタムカーソルを設定するものがあります。例えば、rdesktop は Microsoft Windows コンピュータに接続してリモートマシンから取得したカーソルを使います。プロトコルの制限によって変換品質が悪く、それによってカーソルが見づらいことが多々あります。

カーソルを同一 (または他の) カーソルテーマで置き換えることで解決できます。それには、画像のハッシュを取得する必要があります。アプリケーションを起動する前に XCURSOR_DISCOVER 環境変数を設定してください:

$ XCURSOR_DISCOVER=1 rdesktop ...

カーソルが設定されると、以下のような表示がされます:

Cursor image name: 24020000002800000528000084810000
...
Cursor image name: 7bf1cc07d310bf080118007e08fc30ff
...
Cursor hash 24020000002800000528000084810000 returns 0x0

Xcursor が欠けているカーソルを探すとき、検索パスには ~/.icons/default/cursors が含まれています。まず、このディレクトリを作成します (存在しない場合):

$ mkdir -p ~/.icons/default/cursors

次にハッシュから画像にリンクを作成します。Vanilla-DMZ カーソルテーマの left_ptr 画像を使用する例:

$ ln -s /usr/share/icons/Vanilla-DMZ/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000

アプリケーションを再起動するとすぐに変更が適用されます。アプリケーションを起動するときに特別な操作は必要ありません。

rdesktop

以下は Windows 7 を動かしているリモートマシンに接続するときに rdesktop が使用する Microsoft Windows の一般的なカーソルです。残念ながら、アニメーションカーソルは毎フレーム送信されるため上書きするのが難しく、毎フレームごとにマッピングが必要になります。

$ ln -s /usr/share/icons/$THEME/cursors/xterm ~/.icons/default/cursors/00000000017e000002fc000000000000
$ ln -s /usr/share/icons/$THEME/cursors/right_ptr ~/.icons/default/cursors/00000093000010860000631100006609
$ ln -s /usr/share/icons/$THEME/cursors/plus ~/.icons/default/cursors/01e00000201c00004038000080300000
$ ln -s /usr/share/icons/$THEME/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000
$ ln -s /usr/share/icons/$THEME/cursors/left_ptr_watch ~/.icons/default/cursors/6ce0180090108e0005814700a0021400
$ ln -s /usr/share/icons/$THEME/cursors/hand ~/.icons/default/cursors/d2201000a2c622004385440041308800
$ ln -s /usr/share/icons/$THEME/cursors/watch ~/.icons/default/cursors/fc618c00da110f0034fd0e004e082400

形が X のデフォルトカーソルの変更

デフォルトカーソルを left_ptr に設定しないウィンドウマネージャや、Xlib の代わりに XCB が使われるウィンドウマネージャ (awesome など) では X の形をしたカーソルが表示されます。

以下を ~/.xinitrc や xsession あるいはウィンドウマネージャのスタートアップ設定に追加することで修正できます (例えば bspwm の bspwmrc):

$ xsetroot -cursor_name left_ptr

カーソル形状のリストは X プロトコルの appendix B に記載されています。

.Xdefaults

カーソルの衝突が発生する場合、おそらく ~/.Xdefaults ファイルで別々のカーソルが設定されています。

起動時にカーソルのサイズが変わらない

~/.xinitrc~/.Xresources を使ってカーソルのサイズを変更しているのにうまくいかない場合、~/.Xresources のロード前に xrandr を実行するようにしてください。

~/.xinitrc が以下のようになっていることを確認してください:

~/.xinitrc
xrandr &&
...
xrdb -merge ~/.Xresources &&
exec wm

参照

  • Xcursor(3) — X のカーソルに関する詳細情報 (サポートされているディレクトリ、フォーマット、互換性など)。