Software engineer, functional programming enthusiast.

  • 2 Posts
  • 4 Comments
Joined 4 years ago
cake
Cake day: April 27th, 2021

help-circle
  • Ramin Honary@lemmy.mltoLinux@lemmy.mlThe Terminal Question
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    9 days ago

    I use Xfce and Cinnamon, but I always install Gnome Terminal regardless (you don’t need all of Gnome desktop to use it). The main reason I like Gnome Terminal is that it is very simple, and it lets you save your own terminal themes and switch between them from a context menu. Xfce terminal is nice and simple, but doesn’t have this really handy theme switching feature.

    That said, the terminal emulator I used most often is the Emacs built-in terminal emulator (term-mode), because it integrates flawlessly with other Emacs tools. But its rendering and theming isn’t as nice as Gnome terminal, so I only recommend it if you are an Emacs user.


  • The first thing you need to ask is, are you using Xorg or Wayland? I will assume you are on X11 because I think most major distros still use it by default, but this is going to be changing soon. If you are using Wayland, ricing it uses a totally different set of tools.

    The package manager of most major Linux distros let you install an alternative desktop environment. For example, if you are using Ubuntu with the default Gnome desktop, you could install Xfce using the command apt install xubuntu-desktop. Then logout, and in the screen where you type your password, select the Xfce desktop environment from the menu, and login again. Now you have your new desktop environment running the xfwm4 window manager.

    You don’t need Xfce desktop, but it is usually easier for beginners to customize than rolling your own desktop environment. Once you figure out Xfce ricing, you can try rolling your own.

    An alternative to Xfce which is also very customizable is KDE Plasma, but they configure everything through their own internal tooling.

    If you are using Xorg under Xfce, then from there you can install alternative window managers like i3, Awesome-WM, OpenBox, and so on. Most of the time you install this from the package manager. Most X11 window managers let you switch the current window manager from the command line. For example, to switch to OpenBox, in a terminal type openbox --replace. Any existing windows you have open will stay open but their decorations will change, and so will the wallpaper (probably).

    Then you can install alternative window manager themes and icon packs from GitHub, or websites like https://www.xfce-look.org/browse/. Be aware that OpenBox may not be able to use all the themes that Xfwm4 can use. As always, read the manual.

    Finally, you can install other desktop tools like Conky, Rofi, Kitty terminal, btop, Tint2 Panel.





  • So I think Guix (and Nix) is the most technologically advanced package manager in existence, and I hope someday all package managers work like Guix.

    One other very interesting feature about Guix (which I don’t think Nix is doing yet) (which Nix also does) is that they have implemented a fully verifiable bootstrap, meaning every step of building the kernel, including the steps taken to build the C compiler toolchain, are produced by code that is simple enough for a group of humans to check for correctness and safety. Also, every step of the build process exists in the package repository, with no reliance on externally built binaries for anything, not even the C compiler toolchain. They accomplish this with a multi-phase bootstrap process, where a smaller, simpler C compiler is used to build GCC.

    Do I use Guix? Well, no. Simply put, it is not quite to the point where it just works on a lot of the computer hardware that I own. With a bit more work, with a few more developers, and a bit more money invested, Guix could pretty soon become as reliable and useful as Debian or Fedora. But it is not quite there yet. And frankly, I have other more important things to do than worry about debugging problems with the operating system I am using.