diff --git a/.bin/Scripts/functions/hw_diags.py b/.bin/Scripts/functions/hw_diags.py
index ea19e90f..fe390e12 100644
--- a/.bin/Scripts/functions/hw_diags.py
+++ b/.bin/Scripts/functions/hw_diags.py
@@ -52,6 +52,12 @@ class CpuObj():
continue
self.lscpu[_field] = _data
+ # Get RAM details as well
+ ram_details = get_ram_details()
+ self.ram_total = human_readable_size(ram_details.pop('Total', 0)).strip()
+ self.ram_dimms = [
+ '{}x {}'.format(v, k) for k, v in sorted(ram_details.items())]
+
def generate_cpu_report(self):
"""Generate CPU report with data from all tests."""
report = []
@@ -59,11 +65,8 @@ class CpuObj():
report.append(' {}'.format(self.name))
# Include RAM details
- ram_details = get_ram_details()
- ram_total = human_readable_size(ram_details.pop('Total', 0)).strip()
- ram_dimms = ['{}x {}'.format(v, k) for k, v in sorted(ram_details.items())]
report.append('{BLUE}RAM{CLEAR}'.format(**COLORS))
- report.append(' {} ({})'.format(ram_total, ', '.join(ram_dimms)))
+ report.append(' {} ({})'.format(self.ram_total, ', '.join(self.ram_dimms)))
# Tests
for test in self.tests.values():
diff --git a/.linux_items/include/airootfs/etc/motd b/.linux_items/include/airootfs/etc/motd
index c84d47a0..2a0a183b 100644
--- a/.linux_items/include/airootfs/etc/motd
+++ b/.linux_items/include/airootfs/etc/motd
@@ -1,9 +1,2 @@
-Welcome to the [32m______[0m
-
-Some common commands:
-[34m%[0m hw-diags
-[34m%[0m hw-info
-[34m%[0m mount-all-volumes
-[34m%[0m mount-backup-shares
-[34m%[0m connect-to-network
+[2J[HWelcome to the [32m______[0m
diff --git a/.linux_items/include/airootfs/etc/skel/.update_network b/.linux_items/include/airootfs/etc/skel/.update_network
index fb3ec990..6939afac 100755
--- a/.linux_items/include/airootfs/etc/skel/.update_network
+++ b/.linux_items/include/airootfs/etc/skel/.update_network
@@ -3,9 +3,12 @@
## Setup network and update hostname
# Wait for WiFi
-sleep 1s
+echo -n "Waiting for network... "
+sleep 3s
+echo "Done"
# Set hostname
+echo -n "Updating hostname... "
IP="$(ip a show scope global \
| grep inet \
| head -1 \
@@ -19,4 +22,5 @@ fi
if [[ "${NEW_HOSTNAME:+x}" ]]; then
sudo hostnamectl set-hostname "${NEW_HOSTNAME}"
fi
+echo "Done"
diff --git a/.linux_items/include_x/airootfs/etc/skel/.Xauthority b/.linux_items/include_x/airootfs/etc/skel/.Xauthority
new file mode 100644
index 00000000..e69de29b
diff --git a/.linux_items/include_x/airootfs/etc/skel/.config/i3/config b/.linux_items/include_x/airootfs/etc/skel/.config/i3/config
index 102b50f5..bc92b2d8 100644
--- a/.linux_items/include_x/airootfs/etc/skel/.config/i3/config
+++ b/.linux_items/include_x/airootfs/etc/skel/.config/i3/config
@@ -73,7 +73,7 @@ bindsym $mod+f exec "thunar ~"
bindsym $mod+i exec "hardinfo"
bindsym $mod+m exec "urxvt -title 'Mount All Volumes' -e mount-all-volumes gui"
bindsym $mod+s exec "urxvt -title 'Hardware Diagnostics' -e hw-diags --quick"
-bindsym $mod+t exec "urxvt -e zsh -c 'tmux new-session -A -t general; zsh'"
+bindsym $mod+t exec "urxvt"
bindsym $mod+v exec "urxvt -title 'Hardware Sensors' -e watch -c -n1 -t hw-sensors"
bindsym $mod+w exec "firefox"
@@ -320,4 +320,4 @@ bar {
height 26
}
-exec --no-startup-id /home/tech/.update_x
+exec urxvt -title "Initializing..." -e /home/tech/.update_x
diff --git a/.linux_items/include_x/airootfs/etc/skel/.config/openbox/autostart b/.linux_items/include_x/airootfs/etc/skel/.config/openbox/autostart
index 13b9088c..1f96ce36 100755
--- a/.linux_items/include_x/airootfs/etc/skel/.config/openbox/autostart
+++ b/.linux_items/include_x/airootfs/etc/skel/.config/openbox/autostart
@@ -1,3 +1,5 @@
#openbox-autostart
-$HOME/.update_x &
+/usr/bin/urxvt -title "Initializing..." -e "$HOME/.update_x"
+"$HOME/.start_desktop_apps" &
+
diff --git a/.linux_items/include_x/airootfs/etc/skel/.config/openbox/rc.xml b/.linux_items/include_x/airootfs/etc/skel/.config/openbox/rc.xml
index e563ec04..e99f37ad 100644
--- a/.linux_items/include_x/airootfs/etc/skel/.config/openbox/rc.xml
+++ b/.linux_items/include_x/airootfs/etc/skel/.config/openbox/rc.xml
@@ -329,7 +329,7 @@
- urxvt -e zsh -c 'tmux new-session -A -t general; zsh'
+ urxvt
diff --git a/.linux_items/include_x/airootfs/etc/skel/.start_desktop_apps b/.linux_items/include_x/airootfs/etc/skel/.start_desktop_apps
new file mode 100755
index 00000000..d4a9abe2
--- /dev/null
+++ b/.linux_items/include_x/airootfs/etc/skel/.start_desktop_apps
@@ -0,0 +1,24 @@
+#!/bin/env bash
+#
+## Start desktop apps based on WM
+
+# Start common apps
+feh --bg-fill "$HOME/.wallpaper"
+compton --backend xrender --xrender-sync --xrender-sync-fence &
+sleep 1s
+x0vncserver -display :0 -passwordfile $HOME/.vnc/passwd -AlwaysShared &
+conky &
+nm-applet &
+volumeicon &
+
+# Start WM specific apps
+if fgrep -q "i3" /proc/cmdline; then
+ # i3
+ i3-msg restart
+else
+ # openbox
+ openbox --restart
+ tint2 &
+ cbatticon --hide-notification &
+fi
+
diff --git a/.linux_items/include_x/airootfs/etc/skel/.update_x b/.linux_items/include_x/airootfs/etc/skel/.update_x
index d7baea80..e8829371 100755
--- a/.linux_items/include_x/airootfs/etc/skel/.update_x
+++ b/.linux_items/include_x/airootfs/etc/skel/.update_x
@@ -5,6 +5,8 @@
REGEX_XRANDR='^.* ([0-9]+)x([0-9]+)\+[0-9]+\+[0-9]+.* ([0-9]+)mm x ([0-9]+)mm.*$'
REGEX_URXVT='(URxvt.geometry:\s+).*'
+echo -n "Getting display details... "
+
# Get screen data
xrandr_str="$(xrandr | grep mm | head -1)"
width_px="$(echo "${xrandr_str}" | sed -r "s/${REGEX_XRANDR}/\1/")"
@@ -29,8 +31,12 @@ width_urxvt="$(echo "${width_px} * 112/1280" | bc)"
height_urxvt="$(echo "${height_px} * 33/720" | bc)"
offset_urxvt="24"
+echo "Done"
+
# Update settings if necessary
if [[ "${dpi}" -ge 192 ]]; then
+ echo -n "Updating settings for HiDPI... "
+
# Conky
sed -i 's/minimum_size 180 0/minimum_size 360 0/' "${HOME}/.conkyrc_base"
sed -i 's/maximum_width 180/maximum_width 360/' "${HOME}/.conkyrc_base"
@@ -64,6 +70,9 @@ if [[ "${dpi}" -ge 192 ]]; then
width_urxvt="$(echo "${width_urxvt} / 2" | bc)"
height_urxvt="$(echo "${height_urxvt} / 2" | bc)"
offset_urxvt="$(echo "${offset_urxvt} * 2" | bc)"
+
+ # Done
+ echo "Done"
fi
# Update URxvt (Always)
@@ -71,33 +80,19 @@ urxvt_geometry="${width_urxvt}x${height_urxvt}+${offset_urxvt}+${offset_urxvt}"
sed -i -r "s/${REGEX_URXVT}/\1${urxvt_geometry}/" "${HOME}/.Xresources"
# Update conky
+echo -n "Updating conky... "
$HOME/.update_conky
+echo "Done"
# Update X
+echo -n "Updating X... "
xset s off
xset -dpms
xrdb -merge $HOME/.Xresources
+echo "Done"
-# Start common desktop apps
-feh --bg-fill "$HOME/.wallpaper"
-compton --backend xrender --xrender-sync --xrender-sync-fence &
-sleep 1s
-x0vncserver -display :0 -passwordfile $HOME/.vnc/passwd -AlwaysShared &
-conky &
-nm-applet &
-volumeicon &
-
-# Start WM specific apps
+# Start desktop apps for i3
if fgrep -q "i3" /proc/cmdline; then
- # i3
- i3-msg restart
-else
- # openbox
- openbox --restart
- tint2 &
- cbatticon --hide-notification &
+ i3-msg exec $HOME/.start_desktop_apps
fi
-# Prevent Xorg from being killed by .zlogin
-touch "/tmp/x_ok"
-
diff --git a/.linux_items/include_x/airootfs/etc/skel/.xinitrc b/.linux_items/include_x/airootfs/etc/skel/.xinitrc
index 7085a4df..54dc1428 100755
--- a/.linux_items/include_x/airootfs/etc/skel/.xinitrc
+++ b/.linux_items/include_x/airootfs/etc/skel/.xinitrc
@@ -3,5 +3,6 @@
dbus-update-activation-environment --systemd DISPLAY
eval $(ssh-agent)
export SSH_AUTH_SOCK
+xrdb -merge $HOME/.Xresources
exec openbox-session
diff --git a/.linux_items/include_x/airootfs/etc/skel/.zlogin b/.linux_items/include_x/airootfs/etc/skel/.zlogin
index 8901bb31..1b005d4d 100644
--- a/.linux_items/include_x/airootfs/etc/skel/.zlogin
+++ b/.linux_items/include_x/airootfs/etc/skel/.zlogin
@@ -1,7 +1,7 @@
setterm -blank 0 -powerdown 0 2>/dev/null
if [ "$(fgconsole 2>/dev/null)" -eq "1" ]; then
# Connect to network and update hostname
- $HOME/.update_network
+ "${HOME}/.update_network"
# Update settings if using i3
if fgrep -q "i3" /proc/cmdline; then
@@ -11,18 +11,16 @@ if [ "$(fgconsole 2>/dev/null)" -eq "1" ]; then
# Start X or HW-diags
if ! fgrep -q "nox" /proc/cmdline; then
- # Kill Xorg after 30 seconds if it doesn't fully initialize
- (sleep 30s; if ! [[ -f "/tmp/x_ok" ]]; then pkill '(Xorg|startx)'; fi) &
+ # Show freeze warning
+ echo ""
+ echo "NOTE: Not all GPUs/displays are supported."
+ echo " If the system is frozen on this screen"
+ echo " please restart and try CLI mode instead"
+ echo ""
- # Try starting X
- startx >/dev/null
-
- # Run Hw-Diags CLI if necessary
- if ! [[ -f "/tmp/x_ok" ]]; then
- echo "There was an issue starting Xorg, starting CLI interface..."
- sleep 2s
- hw-diags --cli
- fi
+ # Start x
+ echo "Starting X..."
+ startx >/dev/null 2>&1
else
hw-diags --cli
fi