(...and make sure it stays off.)
Most tools that claim to change mouse acceleration in Linux are just frontends for the cmdline tool called xset.
Open a terminal and enter "xset q" to query the current X11 settings. You will see some default like:
acceleration: 2/1 threshold: 2
now disable Mouse Acceleration by entering "xset m 0 0" in the command line and check again with "xset q". It should look like this:
acceleration: 0/1 threshold: 0
Q: Sometimes it returns back to the defaults after I started program X. How can I really
enforce my settings?
A: There might be programs that change the user defined mouse acceleration again and don't set it back afterwards.
Remove them from your system and inform their author or enter "crontab -e" (or /etc/crontab) and add this line:
(in crontab -e)
*/1 * * * * /usr/bin/xset m 0 0 -display :0
*/1 * * * * root /usr/bin/xset m 0 0 -display :0
(the path "/usr/bin/xset" and the display ":0" might differ)
That will disable mouse acceleration every minute. It is the brute-force approach that I prefer over the alternatives which made me paranoid.