67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Greetd
 | |
| description: 
 | |
| published: true
 | |
| date: 2024-03-09T02:47:50.158Z
 | |
| tags: 
 | |
| editor: markdown
 | |
| dateCreated: 2024-03-09T01:26:21.021Z
 | |
| ---
 | |
| 
 | |
| # Kiosk mode
 | |
| 
 | |
| `greetd` is great for running one full-size app started at boot with the help of [`cage`](https://www.hjdskes.nl/projects/cage/). 
 | |
| ### Prerequisites
 | |
| 
 | |
| | Package | Description | Required? |
 | |
| | -- | -- | -- |
 | |
| | `cage` | Wayland compositor that forces one full-screen window | Yes |
 | |
| | `polkit` | System privilege control | Required if not using seatd service |
 | |
| | `xorg-server-xwayland` | X11 support | No |
 | |
| 
 | |
| ## Running a browser tab/window
 | |
| 
 | |
| ## Running `bpytop` (or any other terminal program) {.tabset}
 | |
| 
 | |
| [`bpytop`](https://github.com/aristocratos/bpytop) is a great little resource monitor. I have a server with a small display that doesn't do much but show a login screen all day, and I figured why not just have the display run a resource monitor?
 | |
| 
 | |
| > Don't forget to [fix the graphs](/dotfiles/bpytop#fix-the-graphs) {.is-info}
 | |
| 
 | |
| 
 | |
| ### Method 1: Direct to the VT
 | |
| 
 | |
| You can launch any program directly to the VT and skip the X server or Wayland compositor nonsense. However, keep in mind that the VT can be pretty limited when it comes to the features we expect from a modern terminal program.
 | |
| 
 | |
| Regardless, here's how to configure `greetd` to do that:
 | |
| 
 | |
| `/etc/greetd/config.toml`:
 | |
| ```toml
 | |
| [default_session]
 | |
| command = "bpytop"
 | |
| user = "thurstylark"
 | |
| ```
 | |
| 
 | |
| ### Method 2: Using `fbterm`
 | |
| 
 | |
| [`fbterm`](https://wiki.archlinux.org/title/Fbterm) is a **f**rame **b**uffer **term**inal emulator which basically boils down to being a better VT.
 | |
| 
 | |
| `/etc/greetd/config.toml`:
 | |
| ```toml
 | |
| [default_session]
 | |
| command = "fbterm -- bpytop"
 | |
| user = "thurstylark"
 | |
| ```
 | |
| 
 | |
| This should give you more flexibility with font sizing and configuration through `fbterm`'s [configuration file](https://wiki.archlinux.org/title/Fbterm#Configuration_file).
 | |
| 
 | |
| 
 | |
| ### Method 3: Using `cage` and a graphical terminal emulator
 | |
| 
 | |
| This will be less performant than the other methods, but will afford you many more features. This is the method I actually use for this use-case.
 | |
| 
 | |
| ```toml
 | |
| [default_session]
 | |
| command = "cage -s -- alacritty -e bpytop"
 | |
| user = "thurstylark"
 | |
| 
 | |
| ``` |