User:Misterhaan/Ubuntu 22.10 Kinetic Kudu Setup

From auWiki
Jump to navigation Jump to search

i use ubuntu linux as my main operating system on my laptop. since the laptop came with windows 10 (which i upgraded to windows 11), i keep that around so i can choose windows on startup when i need one of the manufacturer's utilities.these instructions are what i did when i installed ubuntu cinnamon 22.10 kinetic kudu on my laptop westinghouse.

connections to other systems

most of what i use my laptop for is connecting to other systems, including my home file shares. i set those up first so i have access to my files and the ability to connect to my home desktop and work computer right away.

home server nfs shares

i have command-line ubuntu installed on a different computer at home that stores my files, so my laptop should mount its shares when i'm on my home network. i can't just do a normal mount because if i travel with my laptop, my home server isn't available and i have to wait for those connections to time out before it will finish booting. still, the first couple steps are the same as mounting the shares from a desktop:

  1. edit /etc/hosts as root with sudo gedit /etc/hosts and add a line mapping the lan ip of the server to its name. follow the format of the line that has 127.0.0.1 localhost. saving this change makes sure the laptop can resolve the name of the server, which sometimes doesn't work without this setting.
  2. install nfs support with sudo apt install nfs-common
  3. edit /etc/fstab as root with sudo gedit /etc/fstab and add a line for each nfs share to mount, in this format: server:/nfs_share /local/mount/point nfs noexec,noauto 0 0
  4. create the local mount points for each share (the second column in fstab) with a command like sudo mkdir /local/mount/point
  5. create a new file as root in /etc/NetworkManager/dispatcher.d/ and enter the following code (make sure to put in your uuid and your actual mount points), then set its permissions to rwxr-xr-x with chmod 755 /etc/NetworkManager/dispatcher.d/nfs-mount:
#!/bin/bash
SSID="your-wifi-ssid"
INTERFACE=$1
ACTION=$2
ESSID=`iwconfig $INTERFACE | grep ESSID | cut -d":" -f2 | sed 's/^[^"]*"\|"[^"]*$//g'`

if [ "$SSID" == "$ESSID" ] && [ "$ACTION" == "up" ]; then
	mount /local/mount/point/one
	mount /local/mount/point/two
fi

the network shares should be mounted whenever connecting to the wifi SSID. the noauto in fstab tells the system not to attempt to mount those shares on startup, so it doesn't have to wait for that to fail when they're not available. the NetworkManager script makes sure to mount them once connected to the correct wifi, but if you're going to connect to your network with a cable it's not going to do anything.

change user id

ubuntu uses 1000 as the id for the user it creates, but i have a different id on my server and they need to match up for nfs to know who i am. you can't change your user id while you're logged in, so i'll create another admin account temporarily and use that. do that and set a password with the following:

sudo useradd -G adm,sudo -m -s /bin/bash tempadmin
sudo passwd tempadmin

now log out and you should be able to log back in as tempadmin with the password you just set. run the following command to change your user id and update automounting:

sudo usermod -u [new_ID] [username]
sudo setfact -m "u:[username]:r-x" /media/[username]
sudo setfact -x "u:1000" /media/

now we just need to get rid of tempadmin, so log out and log back in as your actual user. run sudo userdel tempadmin to go back to just one user.

remote control

remmina is in the default ubuntu install and works well to connect to my home desktop using vnc (i use tightvnc server on windows 11 there). i create two connections for that -- one that uses my lan ip and another that uses the subdomain i keep mapped to my internet ip. both use remmina vnc plugin for the protocol and specify [ip]:[port] or [subdomain]:[port] since i use a custom vnc port. username can be left blank, and user password can save my connection password. setting the password means if someone else got access to my laptop they could also access my desktop, so be sure to weigh the convenience against security for your situation.

i connect to my work computer over rdp, which i also do through remmina. create a new connection leaving the protocol on the default of RDP - Remote Desktop Protocol and set the server, username, password, and domain for the connection. choose a custom resolution (i use 2560x1440 since that's the resolution of the monitor i have at work -- it has to be added to the list using the ... button before you can choose it), then switch to the advanced tab and change audio output mode to local to get both the speakers and microphone to work. save the connection. on the first connection (we'll need to set up and connect to vpn first), it asks to accept a certificate for the machine.

in remmina preferences i turn off the setting that prevents screenshots from entering clipboard. then under applet, check the box to start in tray upon user login. under keyboard i clear the host key since i commonly use the right control key for normal keyboard shortcuts, and i don't really need to give up another key for remmina shortcuts i don't remember anyway. under rdp, map the caps lock key to insert by entering 0x3a=0x52 for keyboard scancode remapping (needs to be done separately from mapping it locally because rdp doesn't care about local mappings).

work vpn

my job provides cisco anyconnect vpn for me to connect remotely, but thankfully it's compatible with openconnect which is *much* easier to use and integrates with the network manager built into ubuntu. install openconnect, its network manager integration, and its editor (gnome is the name of the desktop environment ubuntu uses, even for cinnamon):

sudo apt install openconnect network-manager-openconnect network-manager-openconnect-gnome

now go to the network icon in the panel (lower right, probably looks like wifi), click it, and choose "Network Connections." add a new connection using the plus button in the lower left of that window, and choose "Cisco AnyConnect or OpenConnect (OpenConnect)" from under the VPN heading. give it a name (i use the company name) and enter the vpn server as the gateway (something like vpn.example.com). the vpn protocol should already be set to "cisco anyconnect or openconnect" from the earlier choice. save the connection.

now, just under the list of available SSIDs in the network menu it will show "VPN Connections" with a toggle next to it. select this to connect. the first time you do this it will prompt for username and password, which you can tell it to remember so it's even easier next time. the window stays open for me until i confirm that it's me connecting through the authenticator app on my phone -- my only real problem with this system is that it doesn't tell me i need to do that if i'm only looking at my laptop . . . but anyconnect doesn't either. disconnect by toggling VPN Connections back to off.

configuration

map caps lock key as insert

to remap capslock to insert for the entire machine, edit /usr/share/X11/xkb/symbols/pc as root, and set the key <CAPS> line to:

key <CAPS> {	[ Insert	]	};

this takes effect on your next login. it doesn’t apply to rdp connections in remmina though, so be sure to also follow the instructions from earlier for mapping it there too.

enable dark mode

not sure why this isn't in system settings anywhere, but this tells gtk 4 applications such as the text editor that they should show a dark mode theme:

gsettings set org.gnome.desktop.interface color-scheme prefer-dark

system settings

access system settings from the panel menu. they're grouped into sections so i'm using those same groupings here. if i don't list a settings option it's because i don't actually change anything in that one.

appearance

background

default background files are /usr/share/backgrounds/, so that's where i put my own backgrounds. this isn't enough to make them automatically show in settings > background though, so use the add button (bottom left) to get that backgrounds directory added, then select it and a background.

effects

i have all the effects turned on, and set new windows and close windows to fly while leaving minimize traditional.

themes

it defaulted to a dark theme, so i change the icon theme to a dark yaru one with the accent color i want. under settings i turn on icons for menus and buttons.

preferences

account details

similar to background files, i create /usr/share/avatars/ to hold user avatars. there are some default avatar choices but i haven't been able to find where those are stored. click the use picture and choose browse for more pictures to select your preferred avatar.

applets

configure calendar to set custom date format to %l:%M %p %a %b %e (with a trailing space) to take up less space and use 12-hour time. configure menu to not include text, which also takes up less space. select show desktop and click the minus button at the bottom to remove it.

date & time

turn off 24 hour clock and display seconds.

desktop

turn off all the desktop icons.

hardware

mouse and touchpad

under touchpad, i turn off reverse scrolling direction so that two-finger touchpad scroll works like moving the scroll bar not moving the content.

power management

change power button behavior to nothing. my laptop's power button is placed where i can very easily hit it by accident when picking it up so i prefer that it ignores when that happens.

sound

one of the reasons i prefer linux on my laptop is the over-amplification setting. go to the settings tab and slide the maximum volume all the way up to 150%, which is often handy running off built-in speakers.

administration

login window

i like a different background for the login screen, so set that here and then turn off draw user background. then set the themes as close as i can to the themes i picked in themes. under settings, change clock format to %l:%M %p

firefox touch scroll zoom

while the touch screen makes most windows scroll, firefox selects text by default. to make a lasting change edit /etc/security/pam_env.conf and add a line (i add it to the end) with MOZ_USE_XINPUT2 DEFAULT=0 OVERRIDE=1. this should take effect on next login.

remove software

sudo apt remove rhythmbox simple-scan
sudo apt autoremove

install software

here's some software i find useful to add:

sudo apt install gimp puddletag steam xsane

visual studio code

visual studio code isn't in the default repositories, but these commands add its repository and install from it:

wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt install code

it says apt-key is deprecated, which might mean this approach won't work in the next version and i'll have to figure out how to use trusted.gpg.d instead.

zoom

note i'm using apt to install the deb file because my typical dpkg command just says it has unmet dependencies but doesn't install them.

wget https://zoom.us/client/latest/zoom_amd64.deb
sudo apt install ./zoom_amd64.deb
rm zoom_amd64.deb