I’ve recently bought a Tuxedo Computers notebook:
I wanted a computer to just run Linux.
This machine came with Tuxedo OS, basically a custom Ubuntu.
I’ve installed the bspwm community edition, boot up and it seems kinda “functional” but not usable in any way.
I can see polybar and my cursor, pressing Super + Enter does open a window because I see the cursor being centered within those, also I can type in commands because I was able to reboot from this invisible terminal.
Pressing Super + 1-9 doesn’t switch workspaces, or at least I’m not seeing anything in polybar to indicate that.
I’m able to go to a tty and type in commands, that’s about it.
Running startx shows 3 weird white terminals in odd placings on the screen. Don’t really see errors.
Googling gets me to a lot of “blank screen” posts which are kind of similar but seem to mostly be about sxhkd not being installed or something not having the correct permissions due to ppl manually installing bspwm.
This is a fresh install from the live iso, I completely wipe the NVMe during the installation.
I tried the current version Cassini and the previous one that my old laptop is running Artemis nova.
Please let me know if I can add more info/logs that would help figuring out this problem. Or if I botched up making this post in any way.
~/.config/bspwm/bspwmrc
#! /bin/sh
pgrep -x sxhkd > /dev/null || sxhkd &
bspc monitor -d I II III IV V VI VII VIII IX X
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config pointer_follows_focus true
bspc config focus_follows_pointer true
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Chromium desktop='^2'
bspc rule -a firefox desktop='^2'
bspc rule -a mplayer2 state=floating
bspc rule -a Yad state=floating
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
# Border
bspc config focused_border_color "#6c71c4"
bspc config normal_border_color "#073642"
bspc config active_border_color "#073642"
#
# Autostart
#
# Set display from arandr saved script
sh ~/.screenlayout/monitor.sh &
# Bar
~/.config/polybar/launch.sh &
# Notifications
/usr/bin/dunst &
# Polkit
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
# Wallpaper
nitrogen --restore &
# Dex
dex -a -s /etc/xdg/autostart/:~/.config/autostart/ &
# Picom
# picom -b &
# Network Applet
nm-applet --indicator &
# Cursor
xsetroot -cursor_name left_ptr &
# Low battery notifier
~/.config/bspwm/scripts/low_bat_notifier.sh
~/.config/sxhkd/sxhkdrc
#
# wm independent hotkeys
#
# terminal emulator
super + Return
xfce4-terminal
# program launcher
super + d
rofi -modi drun -show drun -line-padding 4 \
-columns 2 -padding 50 -hide-scrollbar -terminal xfce4-terminal \
-show-icons -drun-icon-theme "Qogir-dark" -font "Droid Sans Regular 10"
# show open window
super + ctrl + d
rofi -modi drun -show window -line-padding 4 \
-columns 2 -padding 50 -hide-scrollbar -terminal xfce4-terminal \
-show-icons -drun-icon-theme "Qogir-dark" -font "Droid Sans Regular 10"
# show ssh sesssions
super + shift + d
rofi -modi drun -show ssh -line-padding 4 \
-columns 2 -padding 50 -hide-scrollbar -terminal xfce4-terminal \
-show-icons -drun-icon-theme "Qogir-dark" -font "Droid Sans Regular 10"
# power-menu
super + shift + e
~/.config/rofi/powermenu.sh
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
#
# bspwm hotkeys
#
# quit/restart bspwm
super + alt + {q,r}
bspc {quit,wm -r}
# close and kill
super + {_,shift + }q
bspc node -{c,k}
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest window
super + g
bspc node -s biggest.window
#
# state/flags
#
# set the window state
super + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
#
# focus/swap
#
# focus the node in the given direction
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous window in the current desktop
super + {_,shift + }c
bspc node -f {next,prev}.local.!hidden.window
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
super + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
#
# preselect
#
# preselect the direction
super + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
#
# move/resize
#
# expand a window by moving one of its side outward
super + alt + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
super + alt + shift + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
#
# Special hotkeys
#
# Multimedia keys
XF86AudioRaiseVolume
amixer -q set Master 5%+ unmute
# Still multimedia
XF86AudioLowerVolume
amixer -q set Master 5%- unmute
# still
XF86AudioMute
amixer -D pulse sset Master toggle-mute
# amixer -q set Master toggle
# Simple amixer command seems to have problems unmuting device
# Brightness up
XF86MonBrightnessUp
xbacklight -inc 5
# And brightness down
XF86MonBrightnessDown
xbacklight -dec 5
# Screenshot
Print
scrot "$(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png"
super + Print
~/.config/bspwm/scripts/screenshot.sh
# Shortcuts
super + w
firefox
super + n
thunar
super + F1
~/.config/bspwm/scripts/keybindings_rofi.sh
~/.xsession-errors
sh: /home/dmg/.screenlayout/monitor.sh: No such file or directory
WARNING: Setting geometry in section global doesn't exist
WARNING: Setting notification_height in section global doesn't exist
WARNING: Setting startup_notification in section global doesn't exist
WARNING: Setting verbosity in section global doesn't exist
WARNING: Section shortcuts is deprecated.
Settings in the shortcuts sections have been moved to the global section.
Alternatively you can bind shortcuts in you window manager to dunstctl commands. For that, see the manual for dunstctl.
Ignoring this section.
polybar|notice: Parsing config file: /home/dmg/.config/polybar/config.ini
polybar|error: Invalid value for "bar/top.offset-x", using default value (reason: stof)
polybar|error: Invalid value for "bar/top.offset-y", using default value (reason: stof)
polybar|notice: Loading module 'powermenu' of type 'custom/text'
polybar|notice: Loading module 'bspwm' of type 'internal/bspwm'
/home/dmg/.gtkrc-2.0:4: Unable to find include file: "~/.gtkrc-2.0.mine"
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'keyhint' of type 'custom/text'
polybar|notice: Loading module 'title' of type 'internal/xwindow'
polybar|notice: Loading module 'backlight' of type 'internal/backlight'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'battery' of type 'internal/battery'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'pulseaudio' of type 'internal/pulseaudio'
(nitrogen:966): Gtk-WARNING **: 09:17:57.190: Unable to locate theme engine in module_path: "adwaita",
(nitrogen:966): Gtk-WARNING **: 09:17:57.190: Unable to locate theme engine in module_path: "adwaita",
[ 11/01/23 09:17:57.204 parse_config_libconfig WARN ] The refresh-rate option has been deprecated. Please remove it from your configuration file. If you encounter any problems without this feature, please feel free to open a bug report
(process:1014): GLib-CRITICAL **: 09:17:57.224: g_strv_contains: assertion 'str != NULL' failed
polybar|notice: pulseaudio: using default sink
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'memory' of type 'internal/memory'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'cpu' of type 'internal/cpu'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'caps' of type 'custom/script'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'num' of type 'custom/script'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'scroll' of type 'custom/script'
polybar|notice: Loading module 'sps' of type 'custom/text'
polybar|notice: Loading module 'date' of type 'internal/date'
polybar|notice: Loaded 22 modules
dbus-daemon[1020]: Activating service name='org.a11y.atspi.Registry' requested by ':1.1' (uid=1000 pid=965 comm="/usr/lib/polkit-gnome/polkit-gnome-authentication-")
dbus-daemon[1020]: Successfully activated service 'org.a11y.atspi.Registry'
polybar|notice: Loaded font "Iosevka Term:pixelsize=13" (name=Iosevka Term, offset=4, file=/home/dmg/.local/share/fonts/IosevkaTermNerdFontComplete.ttf)
polybar|notice: Loaded font "Iosevka Term:pixelsize=6" (name=Iosevka Term, offset=1, file=/home/dmg/.local/share/fonts/IosevkaTermNerdFontComplete.ttf)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|error: Failed to reconfigure tray client, removing... (XCB_WINDOW (3))
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
polybar|warn: background_manager: Failed to get root pixmap, default to black (is there a wallpaper?)
(nm-applet:968): Gdk-CRITICAL **: 09:17:57.450: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
/home/dmg/.gtkrc-2.0:4: Unable to find include file: "~/.gtkrc-2.0.mine"
(nitrogen:966): Gtk-WARNING **: 09:17:57.642: Unable to locate theme engine in module_path: "adwaita",
(nitrogen:966): Gtk-WARNING **: 09:17:57.642: Unable to locate theme engine in module_path: "adwaita",
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined
Created symlink /home/dmg/.config/systemd/user/timers.target.wants/eos-update-notifier.timer → /home/dmg/.config/systemd/user/eos-update-notifier.timer.
New '/home/dmg/.config/systemd/user/eos-update-notifier.service' successfully set up.
New '/home/dmg/.config/systemd/user/eos-update-notifier.timer' successfully set up.
eos-update-notifier service initialized for user 'dmg'.
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink auto_null
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
polybar|notice: pulseaudio: using default sink alsa_output.pci-0000_00_1f.3.analog-stereo
WARNING: No icon found in path: 'nm-no-connection'
WARNING: No icon found in path: 'nm-signal-75'
EDIT:
So I’ve come to the conclusion that it’s picom.
The picom line in bspwmrc is commented, but the dex line references/etc/xdg/autostart/ in which there is a picom.desktop.
Without picom.desktop on a reboot everything seems to work fine.
I’m guessing someone botched the picom.conf which must make all screens invisible… Or I’m missing something that this config needs to be functional.