Raspberry Pi Setup Tweaks

Things to remember during Raspberry Pi setups…

You can do some of this through raspi-config.

The NOOBS setup configures the HDMI video parameters to work with the worst possible display, so edit the /boot/config.txt (per the Official Doc):

  • Comment out all the NOOBS auto-configuration entires at the bottom
  • Set disable_overscan=1

The highest mutually compatible setting for the U2711 monitor was 1920×1080@60Hz, which turned out to be CEA Mode 16 and was automagically selected as the monitor’s “native” mode. Disabling overscan lets the X session use the entire monitor screen, rather than being confined within the (huge) black overscan borders.

That requires a power off-on cycle to take effect. Shut down properly with sudo shutdown -H now or just sudo halt.

To set the default size of the lxterminal window so that it’s big enough to be useful, edit the Exec entry (down near the bottom) in /usr/share/raspi-ui-overrides/applications/lxterminal.desktop to read:

Exec=lxterminal --geometry=80x60

The Droid font family seems more readable than the default selection.

Create a user for yourself, just so SSH will eventually work the way it does for all the other boxes. The group list comes from the default pi user:

sudo adduser ed
sudo usermod -a -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio ed

Regrettably, the default pi user has the same numeric ID as the one I use on all the other boxes, which leads to problems with file sharing permissions. I may need to swap numeric IDs to make this work out correctly.

To set a static IP, edit /etc/network/interfaces thusly:

#iface eth0 inet dhcp     <-- comment this out to stop DHCP

auto eth0
iface eth0 inet static
 address      <-- obviously, pick your own

Change the hostname in /etc/hostname and /etc/hosts.

Set up SSH for public-key access on an unusual port by editing /etc/ssh/sshd_config:

  1. Port 12345 <— choose your own
  2. PermitRootLogin no
  3. PasswordAuthentication no

Create the ~/.ssh directory and put your own public key in it, which you can do from the remote system:

scp ~/.ssh/id_rsa.pub octopi-1:.ssh/authorized_keys
# a dummy line to reveal underscores in the previous line

Twiddle ~/.ssh/config on the remote box to include the Pi and specify the unusual port:

Host octopi-1 thisone thatone anotherone
	ForwardX11	yes
	Port	12345   <--- pick your own
	User	ed

Using ssh-agent -t 4h helps relieve the tedium of typing your passphrase all the time. Then sudo service ssh restart on the pi will require you to use your key passphrase; it’s a Good Idea to remain signed in through Port 22 with the original authorization while you fiddle with this stuff, then sign out when it all works.

Update with the usual routine:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade    <-- for system-level update
sudo apt-get clean           <-- flushes /var/cache/apt/archives to save space