When I commit changes on a SVN repository, I always run into the following problem in the terminal in Ubuntu:
Error reading /home/ssylee/.nano_history: Permission denied
Any ideas how to solve it?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
This is usually caused by running
sudo nano [file]. This runs the nano process as root, but leaves
$HOME set to the regular user's home directory, so if nano creates any files (including the .nano_history file), it will be owned by root and placed in your home directory.
You can verify this by running:
ls -l /home/ssylee/.nano_history
ls reports that the file is owned by
root, then you can be reasonably sure this was the cause.
If it is, then the situation can be repaired by running:
sudo chown $USER: ~/.nano_history
or to spell out that command:
sudo chown ssylee: /home/ssylee/.nano_history
A better habit to get into is to use
sudo -e instead of
sudo nano. This runs the
$EDITOR program on a copy of the file being edited, and then atomically replaces the original file when the editor exits (which is very useful when editing system files).
By default, this may launch
vi, but you can fix this temporarily by invoking it like so:
EDITOR=nano sudoedit [filename]
You can permanently configure
$EDITOR in your
.bashrc, or by placing
The fix requires editing the nano configuration file /etc/nanorc and deleting /home//.nano_history.
First comment out the set historylog parameter of nanorc with this command: sudo nano /etc/nanorc
This will disable the ~/.nano_history file used for saving and reading search /replace strings.
This still leaves the .nano_history file in your user directory. Delete this file as follows:
sudo rm .nano_history