Difference between revisions of "Cursor themes"

From ArchWiki
Jump to: navigation, search
m
m (GNOME: there's no gnome-tweak-tools anymore. Use gnome-tweaks instead)
 
(132 intermediate revisions by 28 users not shown)
Line 1: Line 1:
[[Category:X Server]]
+
[[Category:X server]]
[[es:X11 Cursors]]
+
[[es:Cursor themes]]
[[it:X11 Cursors]]
+
[[it:Cursor themes]]
[[ja:Cursor Themes]]
+
[[ja:カーソルテーマ]]
[[pt:X11 Cursors]]
+
[[pt:Cursor themes]]
[[ru:X11 Cursors]]
+
[[ru:Cursor themes]]
[[zh-CN:X11 Cursors]]
+
[[zh-hans:Cursor themes]]
There are many cursor themes available besides the default black pointer.
 
This guide will instruct you on where to get them, installing them, and configuring them.
 
  
==Getting Mouse Cursor Themes==
+
The display server is accompanied by a ''cursor theme'' that helps various aspects of GUI navigation and manipulation. The display server includes a cursor theme, however, other cursor themes can be installed and selected.
First, check which themes you already have installed:
 
ls /usr/share/icons/*
 
Search for directories with the cursors subdirectory.
 
find /usr/share/icons -type d -iname "*cursors*"
 
  
Also, check the official Arch repositories for cursor themes: [https://www.archlinux.org/packages/?sort=&q=xcursor-&maintainer=&last_update=&flagged=&limit=50 search "xcursor-"].
+
== Installation ==
  
{{Note| The {{Pkg|xcursor-themes}} package comes with the 'redglass' and 'whiteglass' themes in {{ic|/usr/share/icons}}.}}
+
Installation can be done with a package, or downloaded and extracted to an appropriate directory.
  
Some themes available through [https://aur.archlinux.org/packages.php?O=0&L=0&C=17&K=cursor&SeB=nd&SB=n&SO=a&PP=50&do_Search=Go AUR].
+
=== Packages ===
  
Here are links to where else you may download cursor:
+
Cursors themes are available in the:
*[http://kde-look.org/index.php?xcontentmode=36 KDE Look]
 
*[http://www.customize.org/list/xcursors Customize.org]
 
  
==Installing Mouse Cursor Themes==
+
* [[Official repositories]] — [https://www.archlinux.org/packages/?sort=&q=xcursor-&maintainer=&last_update=&flagged=&limit=50 "xcursor-" search].
This manual installation method is only required if you are not using pacman to install themes like described above.
+
* [[AUR]] — [https://aur.archlinux.org/packages.php?O=0&L=0&C=17&K=cursor&SeB=nd&SB=n&SO=a&PP=50&do_Search=Go "cursor" search].
  
'''Extract the cursor theme package:'''
+
=== Manually ===
$ tar -zxvf foobar-cursor-theme-package-foo.tar.gz
 
or
 
$ tar -jxvf foobar-cursor-theme-package-foo.tar.bz2
 
'''Make a directory for the cursor theme:'''
 
  
''Example:'' FooBar-AweSoMe-Cursors-v2.98beta
+
If a cursor theme is not available in the official repositories or the AUR, it can be added manually.  A number of websites exist where cursor themes can be downloaded.  Once downloaded, they need to be put in the ''icons'' directory (as cursors have the ability to be bundled with icon themes).
  
User-specific installation:
+
Some websites that have cursor themes:
$ mkdir -p ~/.icons/foobar/cursors
 
  
System-wide installation:
+
* [https://www.gnome-look.org/browse/cat/107/ord/latest/ GNOME Look]
# mkdir -p /usr/share/icons/foobar/cursors
+
* [http://www.customize.org/list/xcursors Customize.org]
 +
* [http://www.deviantart.com/browse/all/customization/skins/linuxutil/x11cursors/ Deviant Art]
  
{{Note| To simplify the name of the theme, the name being used is 'foobar' instead of 'FooBar-AweSoMe-Cursors-v2.98beta' when creating the dir(s) above.}}
+
For ''user-specific'' installation, use the {{ic|~/.icons/}} directory.  Extract them with this command that will work for most archives:
  
'''Copy cursor files into the appropriate directory:'''
+
$ bsdtar xvf foobar-cursor-theme.tar.gz --directory ~/.icons
  
User-specific installation:
+
The cursor theme directory structure is {{ic|theme-name/cursors}}, for example: {{ic|~/.icons/''theme''/cursors/}}; make sure the extracted files follow this structure.
$ cp -a FooBar-AweSoMe-Cursors-v2.98beta/cursors/* ~/.icons/foobar/cursors/
 
  
System-wide installation:
+
{{Note|For ''system-wide'' installation the {{ic|/usr/share/icons}} directory is used.  Direct extraction to this directory is usually discouraged as files here are not tracked by [[pacman]]; it is recommended to create a [[PKGBUILD|package]] for the cursor theme instead.}}
# cp -a FooBar-AweSoMe-Cursors-v2.98beta/cursors/* /usr/share/icons/foobar/cursors/
 
  
If the package includes index.theme file check if there is an "Inherits" line inside. If yes, check whether the inherited theme also exists under this name in your system (rename if needed).
+
Already installed cursor themes can be viewed with the command:
  
'''Copy index.theme file into the appropriate directory:'''
+
find /usr/share/icons ~/.icons -type d -name "cursors"
  
User-specific installation:
+
If the package includes an {{ic|index.theme}} file, check if there is an "Inherits" line inside. If yes, check whether the inherited theme also exists on the system (rename if needed).
$ cp -a FooBar-AweSoMe-Cursors-v2.98beta/index.theme ~/.icons/foobar/index.theme
 
  
System-wide installation:
+
== Configuration ==
# cp -a FooBar-AweSoMe-Cursors-v2.98beta/index.theme /usr/share/icons/foobar/index.theme
 
  
If the package does not have index.theme or if it does not include an "Inherits" line, you do not have to copy this file.
+
There are various ways to set the cursor theme.
  
'''Create links to missing cursors:'''
+
=== XDG specification ===
  
Applications may keep using the default cursors when a theme lacks some cursors.  If you experience this, it can be corrected by adding links to the missing cursorsFor example:
+
This method applies to both [[X11]] and [[Wayland]] cursor themes.   
  
  $ cd ~/.icons/foobar/cursors/
+
For ''user-specific'' configuration, create or edit {{ic|~/.icons/default/index.theme}}; for ''system-wide'' configuration, one can edit {{ic|/usr/share/icons/default/index.theme}}.
 +
 
 +
The {{ic|Inherits}} option in the {{ic|[icon theme]}} section must be set to the xcursor theme directory name {{ic|''cursor_theme_name''}}, for example {{ic|xcursor-breeze-snow}}:
 +
 
 +
{{hc|~/.icons/default/index.theme|2=
 +
[icon theme]
 +
Inherits=''cursor_theme_name''}}
 +
 
 +
You should then edit {{ic|~/.config/gtk-3.0/settings.ini}}, replacing the {{ic|''cursor_theme_name''}} with the chosen one: 
 +
 
 +
{{hc|~/.config/gtk-3.0/settings.ini|2=
 +
[Settings]
 +
gtk-cursor-theme-name=''cursor_theme_name''}}
 +
 
 +
Re-login for the changes to take effect.
 +
 
 +
=== LXAppearance ===
 +
 
 +
[[LXDE#Cursors|LXAppearance]] sets the default cursor by creating an {{ic|~/.icons/default/index.theme}} file: if you edited that file manually, LXAppearance will overwrite it. Remember to also edit {{ic|~/.config/gtk-3.0/settings.ini}} manually as specified in [[#XDG specification]], because applications like Firefox use this setting instead.
 +
 
 +
=== Desktop environments ===
 +
 
 +
[[Desktop environments]] use the [http://standards.freedesktop.org/xsettings-spec/xsettings-spec-0.5.html XSETTINGS protocol], typically implemented through a settings daemon. While this allows to change the cursor on-the-fly, the applied theme may be inconsistent across applications. See [[#XDG specification]] to change the cursor theme manually.
 +
 
 +
==== GNOME ====
 +
 
 +
To change the theme in [[GNOME]], use {{Pkg|gnome-tweaks}} or set the configuration directly with:
 +
 
 +
gsettings set org.gnome.desktop.interface cursor-theme ''cursor_theme_name''
 +
 
 +
Change the cursor size with (depending on the theme, sizes are 24, 32, 48, 64):
 +
 
 +
gsettings set org.gnome.desktop.interface cursor-size ''cursor_theme_size''
 +
 
 +
==== MATE ====
 +
 
 +
In MATE one can use mate-control-center or gsettings. To change the theme:
 +
 
 +
gsettings set org.mate.peripherals-mouse cursor-theme ''cursor_theme_name''
 +
 
 +
To change the size:
 +
 
 +
gsettings set org.mate.peripherals-mouse ''theme-size''
 +
 
 +
==== XFCE ====
 +
 
 +
To change the xcursor theme, use:
 +
 
 +
xfconf-query --channel xsettings --property /Gtk/CursorThemeName --set ''cursor_theme_name''
 +
 
 +
To change the size:
 +
 
 +
xfconf-query --channel xsettings --property /Gtk/CursorThemeSize --set ''cursor_theme_size''
 +
 
 +
=== X resources ===
 +
 
 +
To locally name a cursor theme, add to the {{ic|~/.Xresources}} file:
 +
 
 +
Xcursor.theme: cursor-theme
 +
 
 +
To have the cursor theme properly loaded it will need to be done so by the window manager; if it does not, it can be forced to load prior the window manager by putting the following command in {{ic|~/.xinitrc}} or [[.xprofile]] (depending on ones personal setup):
 +
 
 +
$ xrdb ~/.Xresources
 +
 
 +
Optionally, add this line to {{ic|~/.Xresources}} if your cursor theme supports multiple sizes:
 +
 
 +
Xcursor.size: 16
 +
 
 +
{{Tip|32, 48 or 64 may also be good size.}}
 +
 
 +
If in doubt over supported cursor sizes, start X without this setting and let it choose the cursor size automatically. (Refer to your window manager documentation for details.)
 +
 
 +
=== Environment variable ===
 +
 
 +
You can use an [[environment variable]] to set a theme for a single application to try it out temporarily, for example:
 +
 
 +
$ XCURSOR_THEME=SomeThemeName xclock
 +
 
 +
XCURSOR_SIZE is optional if your cursor theme supports multiple sizes.
 +
 
 +
=== Display managers ===
 +
 
 +
Cursor theme can usually be set within a display manager, but keep in mind the cursor theme may not carry over to the user session.
 +
 
 +
==== GDM ====
 +
 
 +
See [[GDM#Changing the cursor theme]].
 +
 
 +
== Troubleshooting ==
 +
 
 +
=== Create links to missing cursors ===
 +
 
 +
Applications may keep using the default cursors when a theme lacks some cursors.  This can be corrected by adding links to the missing cursors. For example:
 +
 
 +
  $ cd ~/.icons/''theme''/cursors/
 
  $ ln -s right_ptr arrow
 
  $ ln -s right_ptr arrow
 
  $ ln -s cross crosshair
 
  $ ln -s cross crosshair
Line 83: Line 161:
 
  $ ln -s left_ptr_watch 08e8e1c95fe2fc01f976f1e063a24ccd
 
  $ ln -s left_ptr_watch 08e8e1c95fe2fc01f976f1e063a24ccd
  
If the above links do not resolve the problem, look in {{ic|/usr/share/icons/whiteglass/cursors}} for additional cursors your theme may be missing, and create links for them as well.
+
If the above does not solve the problem, look in {{ic|/usr/share/icons/whiteglass/cursors}} for additional cursors your theme may be missing, and create links for these as well.
 
 
== Note on Cursor Themes not Working with Awesome Window Manager ==
 
  
Xcursor does not work correctly with Awesome Window Manager. You may notice all of the themed cursors work except the default cursor.
+
{{Tip|You can also remove unwanted cursors. To for example remove the "watch" cursor:
  
For more information see this link http://awesome.naquadah.org/wiki/FAQ#How_to_change_the_cursor_theme.3F
+
$ cd ~/.icons/''theme''/cursors/
 +
$ rm watch left_ptr_watch
 +
$ ln -s left_ptr watch
 +
$ ln -s left_ptr left_ptr_watch
 +
}}
  
== Choosing and Configuring Cursor Themes ==
+
=== Supplying missing cursors ===
  
If you use some desktop environment like Gnome, you can use its GUIs to choose cursor themes.
+
Some programs set their own custom cursors which you may want to override.  A common example of this is rdesktop, which connects to a Microsoft Windows computer and uses the cursors obtained from the remote machine, which can often be difficult to see due to protocol limitations yielding poor conversion quality.
  
=== Using the XDG Icon Theme Specification ===
+
This can be resolved by replacing these cursors with ones from the same (or another) cursor theme.  In order to do this, the '''hash''' of the image must be obtained.  This is done by setting the {{ic|XCURSOR_DISCOVER}} environment variable prior to launching the application that sets these cursors:
  
{{Note|This method will also set both the [[X11]] and [[Wayland]] cursor theme.}}
+
$ XCURSOR_DISCOVER=1 rdesktop ...
  
You can create a symlink "default" in {{ic|~/.icons}}, which points to your installed cursor theme:
+
The first time (and only the first time) the cursor is set, some details will be displayed, like this:
  
  $ ln -s /usr/share/icons/foobar/ ~/.icons/default
+
  Cursor image name: 24020000002800000528000084810000
 +
...
 +
Cursor image name: 7bf1cc07d310bf080118007e08fc30ff
 +
...
 +
Cursor hash 24020000002800000528000084810000 returns 0x0
  
If you rather want to change the cursor globally (e.g. used by graphical login managers like kdm, gdm, ...), or if you experience problems with above method (for example in Firefox), create the {{ic|/usr/share/icons/default/}} directory '''(only if needed)''':
+
When Xcursor looks for missing cursors, the search path includes {{ic|~/.icons/default/cursors}} so this is where an image can be placed for Xcursor to find.  First, create this directory if it does not already exist:
  
  # mkdir -p /usr/share/icons/default '''(only if needed)'''
+
  $ mkdir -p ~/.icons/default/cursors
  
Edit or create the {{ic|/usr/share/icons/default/index.theme}} file and add the following:
+
Then link the hash to the target image.  Here we are using the {{ic|left_ptr}} image from the {{ic|Vanilla-DMZ}} cursor theme:
  
  [icon theme]
+
  $ ln -s /usr/share/icons/Vanilla-DMZ/cursors/left_ptr ~/.icons/default/cursors/24020000002800000528000084810000
Inherits=foobar
 
  
Or if you have/want your cursor themes in {{ic|~/.icons}} only. Create the {{ic|~/.icons/default/}} directory:
+
The change will be visible as soon as the application is restarted. No special method of launching the application is required.
  
$ mkdir -p ~/.icons/default
+
==== rdesktop ====
  
And create the {{ic|~/.icons/default/index.theme}} file with the same contents as above {{ic|/usr/share/icons/default/index.theme}}.
+
Here are some common Microsoft Windows cursors that rdesktop uses when connecting to a remote machine running Windows 7. Unfortunately animated cursors are difficult to override as they are sent frame-by-frame, so one mapping will be needed for every frame!
  
=== Using X resources ===
+
$ 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
  
To locally name a cursor theme, add to your {{ic|~/.Xresources}}:
+
=== Change X shaped default cursor ===
  
Xcursor.theme: foobar
+
The default X shaped Xcursor appears in window managers that do not set the default cursor to left_ptr or in window managers using XCB (like [[awesome]]) instead of Xlib.
  
To have the cursor theme properly loaded it will need to be called by your window manager. If it does not, you can force it to load prior your window manager by putting the following command in {{ic|~/.xinitrc}} or [[.xprofile]] (depending on your setup):
+
To fix this simply add the following to your {{ic|~/.xinitrc}} , xsession or window managers startup configuration if possible (for example bspwm's bspwmrc).
 +
$ xsetroot -cursor_name left_ptr
  
xrdb ~/.Xresources &
+
For more information see [http://awesome.naquadah.org/wiki/FAQ#How_to_change_the_cursor_theme.3F Awesome wiki].
  
You can optionally add this line to {{ic|~/.Xresources}} if your cursor theme supports multiple sizes:
+
=== .Xdefaults ===
Xcursor.size:  16      !  32, 48 or 64 may also be good values
 
  
If you do not know about supported cursor sizes just start X without this setting and let it choose the cursor size automatically.
+
If you have conflicting cursors then it might be because a different cursor has been set in the {{ic|~/.Xdefaults}} file.
  
Refer to your window manager documentation for details.
+
== See also ==
  
== More information ==
+
* [http://www.x.org/releases/current/doc/man/man3/Xcursor.3.xhtml man Xcursor] — For more information about cursors in X (supported directories, formats, compatibility, etc.).
For more information about cursors in X (supported directories, formats, compatibility, etc.) refer to the man page:
 
$ man Xcursor
 

Latest revision as of 08:31, 6 April 2018


The display server is accompanied by a cursor theme that helps various aspects of GUI navigation and manipulation. The display server includes a cursor theme, however, other cursor themes can be installed and selected.

Installation

Installation can be done with a package, or downloaded and extracted to an appropriate directory.

Packages

Cursors themes are available in the:

Manually

If a cursor theme is not available in the official repositories or the AUR, it can be added manually. A number of websites exist where cursor themes can be downloaded. Once downloaded, they need to be put in the icons directory (as cursors have the ability to be bundled with icon themes).

Some websites that have cursor themes:

For user-specific installation, use the ~/.icons/ directory. Extract them with this command that will work for most archives:

$ bsdtar xvf foobar-cursor-theme.tar.gz --directory ~/.icons

The cursor theme directory structure is theme-name/cursors, for example: ~/.icons/theme/cursors/; make sure the extracted files follow this structure.

Note: For system-wide installation the /usr/share/icons directory is used. Direct extraction to this directory is usually discouraged as files here are not tracked by pacman; it is recommended to create a package for the cursor theme instead.

Already installed cursor themes can be viewed with the command:

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

If the package includes an index.theme file, check if there is an "Inherits" line inside. If yes, check whether the inherited theme also exists on the system (rename if needed).

Configuration

There are various ways to set the cursor theme.

XDG specification

This method applies to both X11 and Wayland cursor themes.

For user-specific configuration, create or edit ~/.icons/default/index.theme; for system-wide configuration, one can edit /usr/share/icons/default/index.theme.

The Inherits option in the [icon theme] section must be set to the xcursor theme directory name cursor_theme_name, for example xcursor-breeze-snow:

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

You should then edit ~/.config/gtk-3.0/settings.ini, replacing the cursor_theme_name with the chosen one:

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

Re-login for the changes to take effect.

LXAppearance

LXAppearance sets the default cursor by creating an ~/.icons/default/index.theme file: if you edited that file manually, LXAppearance will overwrite it. Remember to also edit ~/.config/gtk-3.0/settings.ini manually as specified in #XDG specification, because applications like Firefox use this setting instead.

Desktop environments

Desktop environments use the XSETTINGS protocol, typically implemented through a settings daemon. While this allows to change the cursor on-the-fly, the applied theme may be inconsistent across applications. See #XDG specification to change the cursor theme manually.

GNOME

To change the theme in GNOME, use gnome-tweaks or set the configuration directly with:

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

Change the cursor size with (depending on the theme, sizes are 24, 32, 48, 64):

gsettings set org.gnome.desktop.interface cursor-size cursor_theme_size

MATE

In MATE one can use mate-control-center or gsettings. To change the theme:

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

To change the size:

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

XFCE

To change the xcursor theme, use:

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

To change the size:

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

X resources

To locally name a cursor theme, add to the ~/.Xresources file:

Xcursor.theme: cursor-theme

To have the cursor theme properly loaded it will need to be done so by the window manager; if it does not, it can be forced to load prior the window manager by putting the following command in ~/.xinitrc or .xprofile (depending on ones personal setup):

$ xrdb ~/.Xresources

Optionally, add this line to ~/.Xresources if your cursor theme supports multiple sizes:

Xcursor.size: 16
Tip: 32, 48 or 64 may also be good size.

If in doubt over supported cursor sizes, start X without this setting and let it choose the cursor size automatically. (Refer to your window manager documentation for details.)

Environment variable

You can use an environment variable to set a theme for a single application to try it out temporarily, for example:

$ XCURSOR_THEME=SomeThemeName xclock

XCURSOR_SIZE is optional if your cursor theme supports multiple sizes.

Display managers

Cursor theme can usually be set within a display manager, but keep in mind the cursor theme may not carry over to the user session.

GDM

See GDM#Changing the cursor theme.

Troubleshooting

Create links to missing cursors

Applications may keep using the default cursors when a theme lacks some cursors. This can be corrected by adding links to the missing cursors. For example:

$ cd ~/.icons/theme/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

If the above does not solve the problem, look in /usr/share/icons/whiteglass/cursors for additional cursors your theme may be missing, and create links for these as well.

Tip: You can also remove unwanted cursors. To for example remove the "watch" cursor:
$ cd ~/.icons/theme/cursors/
$ rm watch left_ptr_watch
$ ln -s left_ptr watch
$ ln -s left_ptr left_ptr_watch

Supplying missing cursors

Some programs set their own custom cursors which you may want to override. A common example of this is rdesktop, which connects to a Microsoft Windows computer and uses the cursors obtained from the remote machine, which can often be difficult to see due to protocol limitations yielding poor conversion quality.

This can be resolved by replacing these cursors with ones from the same (or another) cursor theme. In order to do this, the hash of the image must be obtained. This is done by setting the XCURSOR_DISCOVER environment variable prior to launching the application that sets these cursors:

$ XCURSOR_DISCOVER=1 rdesktop ...

The first time (and only the first time) the cursor is set, some details will be displayed, like this:

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

When Xcursor looks for missing cursors, the search path includes ~/.icons/default/cursors so this is where an image can be placed for Xcursor to find. First, create this directory if it does not already exist:

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

Then link the hash to the target image. Here we are using the left_ptr image from the Vanilla-DMZ cursor theme:

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

The change will be visible as soon as the application is restarted. No special method of launching the application is required.

rdesktop

Here are some common Microsoft Windows cursors that rdesktop uses when connecting to a remote machine running Windows 7. Unfortunately animated cursors are difficult to override as they are sent frame-by-frame, so one mapping will be needed for every frame!

$ 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

Change X shaped default cursor

The default X shaped Xcursor appears in window managers that do not set the default cursor to left_ptr or in window managers using XCB (like awesome) instead of Xlib.

To fix this simply add the following to your ~/.xinitrc , xsession or window managers startup configuration if possible (for example bspwm's bspwmrc).

$ xsetroot -cursor_name left_ptr

For more information see Awesome wiki.

.Xdefaults

If you have conflicting cursors then it might be because a different cursor has been set in the ~/.Xdefaults file.

See also

  • man Xcursor — For more information about cursors in X (supported directories, formats, compatibility, etc.).