• 0 Posts
  • 68 Comments
Joined 10 months ago
cake
Cake day: January 12th, 2024

help-circle












  • Little addendum to the last part of About Fragmentation section, since I don’t want to leave it unfinished and make people struggle if they follow my advices:

    $HOME/.local/opt is a “usual” (there are few more, I prefer this one) location for pre-built (downloaded) and built-locally apps that you don’t want to install system-wide.

    For example:

    1. I downloaded neovim binaries because I didn’t have time to build em (lazy ass), but at least I did it from their git repository.
    2. I untarred the archive using tar xvf nvim<press TAB>, or right clicked on the archive in a GUI file manager and clicked decompress.
    3. moved nvim-linux-x64 directory into .local/opt, and renamed it to nvim (usually done in one command, if using terminal - mv nvim-linux-x64 $HOME/.local/opt/nvim)
    4. Changed dir into .local/opt/nvim and found the executable, in our case something like ./bin/nvim.
    5. I link that executable into a directory for binary files that lies on the PATH (system checks PATH it to find shit), like this - ln -s /home/<my nickname>/.local/opt/nvim/bin/nvim /home/<my nickname>/.local/bin/nvim this command requires absolute paths and creates a SYMBOLIC link (you can read up on that if you’re interested). GUI file managers usually have functionality for creating symlinks, right click on file to find out.
    6. Some distros include .local/bin to path by default, while others don’t. Simple way to do so is open your .bashrc or .zshrc that’s located in $HOME in a text editor, and somewhere close to the end of file write export PATH="$HOME/.local/bin:$PATH"
    7. I close and reopen my terminal. Nvim is now installed, by hand.

    Something like that. It’s all done just for organization and quality of life.


    1. Kate, Neovim, Emacs, +lots and lots more, pick your poison.

    2. QEMU/KMV can host windows guests pretty flawlessly, pain to setup though. I use it to work in visual studio for college stuff. USB passthrough should work. No idea about thunderbolt though.

    3. Native games work as expected, not native games only work through a translator either raw Wine or Proton (is better suited for games). They have frontends, such as Steam, Lutris, and other. Not all games work through translators. Consult protondb for games you want to play.

    4. Natively? No idea, didn’t play a single native game. Through Steam - flawlessly.

    5. Playing video through mpv has GUI. It has GUI. For videos. You might want to consider VLC, if audio GUI is a requirement. Or any other GUI audio player.

    6. Any DAW/video editor. I’ll bet my life on that 90% of them use ffmpeg. Tools like flacon most likely use ffmpeg. It’s everywhere.

    7. rename command. Probably dolphin and nautilus have mass renamers with a GUI, but I only used rename and it gets the job done.

    8. Depends on your desktop environment, kde probably has support for anything shortcut related.

    9. On Linux we usually don’t install random shit we download through browser. That’s what package managers are for, every base distro has its own package manager with its own structure. And if package managers are lacking then we get source code and build it. In very rare cases like Reaper DAW probably only then we download binaries.

    More about fragmentation: Linux uses ELF executables. Amd64 elves will work on every amd64 Linux machine (that has required libs). Some distros package apps into intermediary archives that are prebuilt into a more structure friendly to that distro way. If you install one distros prebuilt archive on another one, it might install files into different dirs and you will not know how to get out of that situation. All Linux software is available under every distro, if you include building from source as an option. If you really must download shit off of web and install it but it doesn’t display your exact distro follow these instructions: 1. child distro usually can install base distro’s intermediary archives and be ok about it, example: ubuntu is child to debian, popos is child to ubuntu. 2. Extract archive and locate the binaries, that’s it. Then put it somewhere in $HOME/.local/opt and ln -s fullpathtoappbin fullpathtolocalbinarydir or just run from $HOME/Downloads.

    1. I stopped reading around here, that’s way too much fucking text for me alone.