カーソルテーマ
ディスプレイサーバーには GUI のナビゲーションや操作を楽にするカーソルテーマが付属しています。ディスプレイサーバーにカーソルテーマは含まれていますが、他のカーソルテーマをインストールして選択することもできます。
インストール
パッケージを使ってインストールするか、適当なディレクトリにダウンロード・解凍してインストールします。
パッケージ
カーソルテーマは公式リポジトリと AUR からインストールできます:
- 公式リポジトリ — "xcursor-" 検索。
- AUR — "cursor" 検索。
手動
カーソルテーマが公式リポジトリや 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/
。展開したファイルがこのディレクトリを含んでいることを確認して下さい。
インストールしたカーソルテーマは次のコマンドで確認できます:
find /usr/share/icons ~/.local/share/icons ~/.icons -type d -name "cursors"
パッケージに index.theme ファイルが含まれているときは、そのファイルの中に "Inherits" 行があるかどうか確認してください。もしその行があれば、システムにその名前で継承されるテーマが存在しているか確認してください (必要なら名前を変更してください)。
設定
カーソルテーマを設定する方法は複数あります。
XDG の仕様
この方法は X11 と Wayland 両方のカーソルテーマに適用されます。
ユーザー個別に設定する場合、~/.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
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
サポートされているカーソルサイズがわからない場合は、この設定を使わずに 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
で探して、同じようにリンクを作成してください。
欠けているカーソルを補う
プログラムによってはカスタムカーソルを設定するものがあります。例えば、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
Cursor size or theme does not change on Plasma (Wayland)
When changing the cursor size or theme when using Plasma under Wayland, make sure to restart the session after applying the changes [1] [2].
参照
- Xcursor(3) — X のカーソルに関する詳細情報 (サポートされているディレクトリ、フォーマット、互換性など)。