linux_desktop_setup
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| linux_desktop_setup [2024/02/02 18:56] – [AutoHotKey-type-stuff] tkbletsc | linux_desktop_setup [2026/04/21 21:04] (current) – [Distro and desktop environment] tkbletsc | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ====== Distro and desktop environment ====== | ====== Distro and desktop environment ====== | ||
| + | |||
| After an exhaustive and exhausting evaluation, here's the tested distros ranked: | After an exhaustive and exhausting evaluation, here's the tested distros ranked: | ||
| - | | + | |
| - | - **Manjaro with Cinnamon** is fine, but as neat as Arch-based distros are, I'd rather have something that third party vendors have actually heard of. Also, other Manjaros? See desktop environment list below. | + | |
| + | - **Manjaro with Cinnamon** | ||
| - **Xubuntu**: | - **Xubuntu**: | ||
| - **Ubuntu Cinnamon**: The right idea, but no reason for this to exist when Mint exists. | - **Ubuntu Cinnamon**: The right idea, but no reason for this to exist when Mint exists. | ||
| - **Debian**: Yay freedom, boo drivers not working. | - **Debian**: Yay freedom, boo drivers not working. | ||
| - **EndeavorOS**: | - **EndeavorOS**: | ||
| - | - **Ubuntu**: The desktop environment designed by a head injury victim whose only prior experience was hearing an Android 1.0 interface half-described to them over a walkie-talkie. Choked with anti-features like snaps (open source client/ | + | - **Ubuntu**: The desktop environment designed by a head injury victim whose only prior experience was hearing an Android 1.0 interface half-described to them over a walkie-talkie. Choked with anti-features like snaps (open source client/ |
| - | - **Arch**: No installer, no inbuilt GUI, and every operation is an inch-thick bomb defusal procedure. That said, decent if off-beat package manager, and it handles third party open source installs via its " | + | - **Arch**: No installer, no inbuilt GUI, and every operation is an inch-thick bomb defusal procedure. That said, decent if off-beat package manager, and it handles third party open source installs via its " |
| - | + | ||
| Connected to the above, here are the correct opinions on desktop environments: | Connected to the above, here are the correct opinions on desktop environments: | ||
| + | |||
| * Overall: Too damn many. Half these things should die so their developers can work on the survivors, because every single one has toddler-level bugs that you can stumble into within 3 minutes of first boot. | * Overall: Too damn many. Half these things should die so their developers can work on the survivors, because every single one has toddler-level bugs that you can stumble into within 3 minutes of first boot. | ||
| + | |||
| - **Cinnamon**: | - **Cinnamon**: | ||
| - **XFCE**: Not bad, but while it's fine to drop into as a tourist, it's too inflexible to be a daily driver. | - **XFCE**: Not bad, but while it's fine to drop into as a tourist, it's too inflexible to be a daily driver. | ||
| Line 21: | Line 23: | ||
| - **Budgie**: Trying to the same as Cinnamon, but from scratch and at pre-alpha quality. | - **Budgie**: Trying to the same as Cinnamon, but from scratch and at pre-alpha quality. | ||
| - **i3**: Insufferable nerd shit by people that never learned what UI discoverability is. The vim of desktops. | - **i3**: Insufferable nerd shit by people that never learned what UI discoverability is. The vim of desktops. | ||
| - | - **GNOME**: See " | + | - **GNOME**: See " |
| - | - **Enlightenment**: | + | - **Enlightenment**: |
| ====== Random setup tips ====== | ====== Random setup tips ====== | ||
| + | |||
| This is assuming you're on Linux Mint, per objective truths above. | This is assuming you're on Linux Mint, per objective truths above. | ||
| ===== Biggest new thing that makes Linux potentially livable ===== | ===== Biggest new thing that makes Linux potentially livable ===== | ||
| - | **ChatGPT**! You don't have to mine through loathsome Linux forums any more, because a robot has already been there to mine the facts and discard the bitter slapfights. | + | |
| + | **ChatGPT**! You don't have to mine through loathsome Linux forums any more, because a robot has already been there to mine the facts and discard the bitter slapfights. | ||
| It's perfect for finding which cryptic tool will help you achieve a given basic thing. It's made a tremendous difference to the morale of attempting to survive a desktop Linux. | It's perfect for finding which cryptic tool will help you achieve a given basic thing. It's made a tremendous difference to the morale of attempting to survive a desktop Linux. | ||
| + | ===== Mint installer compatibility with modern nVidia cards ===== | ||
| + | |||
| + | If you have a recent nVidia card, the USB environment may fail to boot properly by default. To install in this case: | ||
| + | |||
| + | - From the Mint USB boot menu, choose compatibility mode | ||
| + | - Install as usual | ||
| + | - On reboot, on grub menu, edit the default entry by adding " | ||
| + | - Once booted, use the driver install tool to get proper nVidia drivers. | ||
| + | - Reboot. | ||
| ===== Mouse cursor offset bug ===== | ===== Mouse cursor offset bug ===== | ||
| - | I have multiple monitors, one of which is rotated 90 degrees. Attempting to input this into the display manager will mean that the mouse cursor' | ||
| - | Good news: **Just install the real nvidia drivers**, and it works. | + | I have multiple monitors, one of which is rotated 90 degrees. Attempting to input this into the display manager will mean that the mouse cursor' |
| + | |||
| + | Good news: **Just install the real nvidia drivers**, and it works. | ||
| ===== Installing stuff ===== | ===== Installing stuff ===== | ||
| + | |||
| Mint's Software Manager is pretty good and can handle most third party Linux supporting apps itself, including: | Mint's Software Manager is pretty good and can handle most third party Linux supporting apps itself, including: | ||
| + | |||
| * Discord | * Discord | ||
| + | * perhaps replace with Vesktop (appears to be standard client over web minus ads) | ||
| * Spotify | * Spotify | ||
| * Dropbox (use system package!) | * Dropbox (use system package!) | ||
| Line 48: | Line 66: | ||
| Here's what you should *NOT* use it for: | Here's what you should *NOT* use it for: | ||
| - | * **Zoom**. If you install flatpak via Software Manager, then the authorization click-through to login from the browser won't work. Just google "zoom install linux" and get the company' | ||
| + | * **Zoom**. If you install flatpak via Software Manager, then the authorization click-through to login from the browser won't work. Just google "zoom install linux" and get the company' | ||
| ===== Stuff to install ===== | ===== Stuff to install ===== | ||
| + | |||
| Windows migrations (not all figured out yet): | Windows migrations (not all figured out yet): | ||
| - | | + | |
| - | * VLC -> VLC | + | |
| - | * Notepad++ | + | * VLC → VLC |
| - | * Greenshot | + | * XnView → XnView MP (commercial, |
| - | * WizTree | + | * Paint.NET → LazPaint |
| + | * Notepad++ | ||
| + | * Greenshot | ||
| + | * WizTree | ||
| + | * WinAmp → qmmp | ||
| + | * It doesn' | ||
| + | * Enable the " | ||
| Quick installation command: | Quick installation command: | ||
| - | | + | < |
| + | |||
| + | sudo apt install meld vlc qdirstat | ||
| + | |||
| + | </ | ||
| ===== AutoHotKey-type-stuff ===== | ===== AutoHotKey-type-stuff ===== | ||
| - | On Windows I use a bunch of [[AutoHotKey recipes]]. I haven' | ||
| - | For simple button mapping, use '' | + | On Windows I use a bunch of [[: |
| - | sudo apt-get install xbindkeys xdotool | + | |
| - | xbindkeys --defaults > ~/ | + | For simple button mapping, use '' |
| + | < | ||
| + | |||
| + | sudo apt-get install xbindkeys xdotool | ||
| + | xbindkeys --defaults> | ||
| + | |||
| + | </ | ||
| Then edit ~/ | Then edit ~/ | ||
| - | | + | |
| - | b:8 | + | < |
| - | + | " | |
| - | " | + | b:8 |
| - | b:9 | + | |
| + | " | ||
| + | b:9 | ||
| + | |||
| + | </ | ||
| This maps the mouse side buttons to the next song and play/pause media buttons. If your side button has a different identifier, you can find out by running the following command and clicking around: | This maps the mouse side buttons to the next song and play/pause media buttons. If your side button has a different identifier, you can find out by running the following command and clicking around: | ||
| - | | + | |
| + | < | ||
| + | xev | grep -i button | ||
| + | |||
| + | </ | ||
| To (re-)run the binder: | To (re-)run the binder: | ||
| - | | + | < |
| - | + | ||
| - | To ensure it starts on login, run the " | + | killall xbindkeys ; xbindkeys |
| + | |||
| + | </ | ||
| + | |||
| + | To ensure it starts on login, run the " | ||
| + | |||
| + | For everything else, just use the built-in keyboard shortcut editor. | ||
| + | |||
| + | ===== Font rendering fix ===== | ||
| + | |||
| + | I imported some Windows fonts, but some of them (especially Calibri) rendered really awful – no smoothing, or worse, smoothing only on ligatures like " | ||
| + | |||
| + | Turns out these fonts have pixel fonts mixed in, which Linux uses badly. Solution is to not use the embedded pixel fonts, which means a dive into the gross world of Linux font options. Some people even collect and trade cryptic font config files…how shameful. [[https:// | ||
| + | |||
| + | To fix, make / | ||
| + | < | ||
| + | |||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | <!-- Prevent Gnome from using embedded bitmaps in fonts like Calibri --> | ||
| + | <match target=" | ||
| + | <edit name=" | ||
| + | </ | ||
| + | |||
| + | <!-- Reject bitmap fonts in favour of Truetype, Postscript, etc. --> | ||
| + | <match target=" | ||
| + | < | ||
| + | <patelt name=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <!-- Substitute truetype fonts for bitmap ones --> | ||
| + | <match target=" | ||
| + | <edit name=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | </ | ||
| ===== Editing the style ===== | ===== Editing the style ===== | ||
| - | Weirdly, Cinnamon has lots of themes which work well, but very little ability to do finer-grain edits. I wanted my taskbar to be blue, because otherwise it's a grey overload, so I went on a bit of a walkabout. | + | |
| + | Weirdly, Cinnamon has lots of themes which work well, but very little ability to do finer-grain edits. I wanted my taskbar to be blue, because otherwise it's a grey overload, so I went on a bit of a walkabout. | ||
| Conclusion: | Conclusion: | ||
| + | |||
| * First, pick your favorite theme to edit, mine was Mint-Y-Dark-Aqua | * First, pick your favorite theme to edit, mine was Mint-Y-Dark-Aqua | ||
| * Copy to ~/.themes and rename | * Copy to ~/.themes and rename | ||
| - | | + | < |
| - | cd ~/.themes | + | mkdir ~/.themes |
| - | cp -r / | + | cd ~/.themes |
| - | mv Mint-Y-Dark-Aqua My-Dark-Aqua | + | cp -r / |
| + | mv Mint-Y-Dark-Aqua My-Dark-Aqua | ||
| + | |||
| + | </ | ||
| * Edit My-Dark-Aqua/ | * Edit My-Dark-Aqua/ | ||
| * Edit My-Dark-Aqua/ | * Edit My-Dark-Aqua/ | ||
| - | | + | < |
| - | ... | + | .panel-top, .panel-bottom, |
| - | background-color: | + | ... |
| + | background-color: | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== NFS client info ===== | ||
| + | |||
| + | Pre-req: '' | ||
| + | |||
| + | fstab: '' | ||
| + | |||
| + | ====== Text editor shootout ====== | ||
| + | |||
| + | I needed a primary GUI text editor for Linux. I'm not a vim or emacs person, so those and their derivitives are out. On Windows, I find Notepad++ to be fine. Required features: | ||
| + | |||
| + | * Visual: Good color theming, including good dark modes, syntax highlighting, | ||
| + | * Sane tab behavior (keep indent on newline, select+tab & shift+tab, home key toggles true home and indented home | ||
| + | * Tabbed documents with ease of making and closing a quick new file | ||
| + | * Editor tools for case conversion, EOL detect and change, full regex support with grouping and backrefs | ||
| + | * Ability to load/save files via SFTP (either natively or via common library support) | ||
| + | Findings, in descending order of quality: | ||
| + | - **Kate**: The IDE from KDE. Fairly lightweight despite its features. The Flatpak install is fine to dodge KDE dependencies. Has every desired feature. If you install Language Server Protocol tools (LSP), it can even understand code structure in various languages. Here are the LSPs for common languages: | ||
| + | * **C/C++**: '' | ||
| + | * **Python**: '' | ||
| + | * **Rust**: '' | ||
| + | * **Go**: '' | ||
| + | * **Java**: — '' | ||
| + | * **Javascript, | ||
| + | - **xed**: Comes with Mint. Fast and perfectly fine. Gaps: no matching symbol highlighting, | ||
| + | - **Pluma**: Clearly shares a common ancestor with xed, but it's more primitive. No reason for it to exist. | ||
| + | - **Sublime**: | ||
| + | - **Geany**: Dark mode is hilariously primitive – just an " | ||
| + | - **gedit**: Dogshit interface from the modern minimalist GNOME idiots. Enjoy guessing what the shapes mean. | ||
| + | - **Featherpad**: | ||
| + | - **SciTE**: No settings GUI at all, it will just open a mile-long config file for you to edit by hand. Super shameful. | ||
| + | - **VSCode**: Increasingly bloated, and here's the kicker: every time you use it to SSH into somewhere, it craps out a 150MB runtime without asking onto the server, and grows it by another 150MB with every update. Long-time deployments can lead to hidden server-side shitheaps of 1GB or more. Absolutely unconscionable. | ||
linux_desktop_setup.1706928985.txt.gz · Last modified: by tkbletsc
