[-] Ramin_HAL9001@lemmy.ml 4 points 1 day ago* (last edited 1 day 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.

[-] Ramin_HAL9001@lemmy.ml 1 points 1 day ago

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.

67
submitted 9 months ago by Ramin_HAL9001@lemmy.ml to c/unixporn@lemmy.ml

I am not this artist, I just thought his work was worth sharing.

[-] Ramin_HAL9001@lemmy.ml 96 points 11 months ago* (last edited 11 months ago)

I can explain the difference between X11 and Xorg with an analogy to the web and web browsers: X11 is like HTTP, Xorg is like the Chrome browser. X11 is the protocol, Xorg is software that implements that protocol.

X11 is old, it was designed back in the 1980s and includes messages for drawing lines and circles and fonts on the screen. Also, back then there were a lot of "thin clients", computers that were basically nothing but a browser, since graphics were computationally expensive and could not be done on the client computer, graphics rendering was done server side. There are lots of messages in the protocol for handling screen updates over a computer network.

Nowadays, all personal computers are powerful enough to render their own graphics, and no one needs the display server to draw individual lines or circles on screen. Vector graphics and fonts are done at the application level, not over the network. So these these messages specified in the X11 protocol are hardly ever used. Really, most of X11 (let's say 90% of it) is not used at all, only the parts where the keyboard and mouse are defined, and how you can allocate memory to buffer a graphic and copy that buffer to the display. But you still need to maintain the Xorg software to handle everything that X11 specifies, and this is just a waste of code, and a waste of time for the code maintainers.

So basically, they decided about 10-15 years ago that since no one uses most of X11, let's just define a new protocol (called Wayland) that only has the parts of X11 that everyone still uses, and get rid of the 90% of it that no one ever uses. Also, the protocol design takes into account the fact that most modern computers do all of their own rendering rather than calling out to a server to render for them. Also the Wayland protocol design takes into account that a lot of computers have graphics cards for accelerated graphics rendering.

Since the Wayland protocol is much simpler, it is easier for anyone to write their own software which implements the protocol, these software are called "compositors." Finally, 10 years after some of the first implementations of Wayland, the protocol and compositors are becoming mature enough that they can be used in ordinary consumer PCs.

[-] Ramin_HAL9001@lemmy.ml 36 points 1 year ago* (last edited 1 year ago)

No, it is because people in the Linux community are usually a bit more tech-savvy than average and are aware that OpenAI/Microsoft is very likely breaking the law in how they collect data for training their AI.

We have seen that companies like OpenAI completely disregard the rights of the people who created this data that they use in their for-profit LLMs (like what they did to Scarlett Johansson), their rights to control whether the code/documentation/artwork is used in for-profit ventures, especially when stealing Creative Commons "Share Alike" licensed documentation, or GPL licensed code which can only be used if the code that reuses it is made public, which OpenAI and Microsoft does not do.

So OpenAI has deliberately conflated LLM technology with general intelligence (AGI) in order to hype their products, and so now their possibly illegal actions are also being associated with all AI. The anger toward AI is not directed at the technology itself, it is directed at companies like OpenAI who have tried to make their shitty brand synonymous with the technology.

And I haven't even yet mentioned:

  • how people are getting fired by companies who are replacing them with AI
  • or how it has been used to target civilians in war zones
  • or how deep fakes are being used to scam vulnerable people.

The technology could be used for good, especially in the Linux community, but lately there has been a surge of unethical (and sometimes outright criminal) uses of AI by some of the worlds wealthiest companies.

30
40
submitted 1 year ago* (last edited 1 year ago) by Ramin_HAL9001@lemmy.ml to c/unixporn@lemmy.ml

Screen shots of my new Cinnamon Desktop environment on #Aarch64 #Debian 12.5.

I am really digging the combination of the "High Contrast" widget theme with the ordinary (non-high-contrast) icon and window decoration themes. I am using the "Mojave Light" window decoration theme from the Cinnamon theme repository, and the Adwaita default icon theme for all applications programmed using the Gtk framework. Fonts are all set to DejaVu Sans Mono.

[-] Ramin_HAL9001@lemmy.ml 45 points 1 year ago* (last edited 1 year ago)

I don't understand this guy's argument at all. First of all, he isn't using any shell that I know about, he seems to have invented his own, and the command line arguments he uses are specific to his own shell. He doesn't explain how these command line arguments work in terms of POSIX system calls, so I can't follow along with what he is actually doing. As far as I can tell, these are security issues with his own software, not with Unix or Linux.

If you are worried about file mutability, you can use ZFS or BTrFS or BCacheFS. All of these filesystems have a snapshot function, so if any changes (e.g. file encryption by ransomware attackers) are made you can reboot and roll back the changes, unless the attackers figure out a way to get root access and delete your snapshots. But if an attacker has gained root access to your computer, that is a much more serious issue and not really in the scope of filesystem security or file mutability.

The snapshot and rollback feature also exists in NixOS and GuixOS, where your operating system kernel and all software installed is part of a snapshot that can be rolled back, if the system becomes unbootable, you can rollback from within the GRUB boot loader. Again, all software installation is managed by a service that runs for you at root level so you never need sudo to install software, and the software you install never effects any other user or the operating system. So the only way to hack this is to gain root access and alter the content of the Guix or Nix "store" database with malicious code, but again, root access is a much bigger issue than what we are talking about.

So yeah, the argument stated in this video makes no sense to me.

[-] Ramin_HAL9001@lemmy.ml 42 points 1 year ago* (last edited 1 year ago)

Yes, it is mostly appliances, but an (informal?) stated goal of NetBSD is too run on all computing hardware.

  • FreeBSD = user-friendly free Unix (plus ZFS and jails πŸ˜€)
  • OpenBSD = very secure free Unix (no ZFS πŸ™ but has the VMM hypervisor πŸ˜€)
  • OpenIndiana = user-friendly free Unix that runs old Solaris software (plus ZFS and zones πŸ˜€)
  • NetBSD = runs on any computer chip ever built within the past 40 years (some ZFS support, but no zones, jails, or VMs πŸ™)

Naturally, that makes NetBSD a good choice for appliances, especially ones that might only have limited memory.

(Here is a quick explainer on the difference between Jails, Zones, Containers, and VMs)

EDIT1: someone pointed out to me that ZFS is not supported on OpenBSD. Sorry about that everyone.

EDIT2: there is a ZFS driver for NetBSD

[-] Ramin_HAL9001@lemmy.ml 148 points 1 year ago* (last edited 1 year ago)

So usually people do install Linux software from trusted software repositories. Linux practically invented the idea of the app store a full ten years before the first iPhone came out and popularized the term "app."

The problem with the Mullvad VPN is that their app is not in the trusted software repositories of most Linux distributions. So you are required to go through a few extra steps to first trust the Mullvad software repositories, and then install their VPN app the usual way using apt install or from the software center.

You could just download the ".deb" file and double click on it, but you will have to download and install all software security updates by hand. By going through the extra steps to add Mullvad to your trusted software repository list, you will get software security updates automatically whenever you install all other software updates on your computer.

Most Linux distros don't bother to make it easy for you to add other trusted software repositories because it can be a major security risk if you trust the wrong people. So I suppose it is for the best that the easiest way to install third-party software is to follow the steps you saw on the website.

[-] Ramin_HAL9001@lemmy.ml 34 points 1 year ago* (last edited 1 year ago)

It can even start the receiving daemon if it is not yet running.

We have a tool for that, it’s called an init system.

The init system is for trusted system services that can talk directly to hardware. Unless you are working on a single-user system with no security concerns of any kind, you might consider using init to launch persistent user land or GUI processes.

DBus is for establishing a standard publish/subscribe communication protocol between user applications, and in particular, GUI applications. And because it is standard, app developers using different GUI frameworks (Gtk, Qt, WxWidgets, FLTK, SDL2) can all publish/subscribe to each other using a common protocol.

It would be certainly be possible to establish a standard place in the /tmp directory and a standard naming scheme for sockets and temporary files so that applications can obtain a view of other running applications and request to receive message from other applications using ordinary filesystem APIs, but DBus does this without needing the /tmp directory. A few simple C APIs replace the need for naming and creating your temporary files and sockets.

[-] Ramin_HAL9001@lemmy.ml 36 points 2 years ago

5-E's maybe:

  • Embrace
  • Extend
  • Exploit
  • Extinguish
  • Enshittification

I also wrote a blog post on it,

[-] Ramin_HAL9001@lemmy.ml 33 points 2 years ago* (last edited 2 years ago)

I wouldn't worry too much about the package manager, just worry about whether the distro has a good package repository. If it has all the software you want to use, then use it. In my opinion, most package managers (dnf, apt, pacman, xbmp) are basically the same, and you would only notice a big difference if you ever tried to make your own package for your own software.

That said, a few package managers are very different from all the rest:

  • Crux OS "prt-get": simple and stupid: just downloads and installs tar archives.
  • Gentoo "emerge": builds all software from source code when you install it. This provides some guarantees that the source code was not tampered with by the distro maintainers, this is great if you need to review all of the source code that is running on your system, but terrible for most people who don't want to spend so much computing power on compiling stuff every time you do a software update.
  • Nix and Guix: creates its own blockchain-like database of isolated package dependency chains on your system, allowing you to instantly roll-back to the previous set of installed packages if you ever install something that breaks your system. It also guarantees that the software can be checked bit-for-bit (using SHA hash) traced back to the exact version and dependencies of the source code that built it. Nix and Guix packages also live peacefully side-by-side with any other package manager since all Nix/Guix apps are completely self-contained within its own database. In a way, it is sort of like one big AppImage or Docker container, but you can just keep adding or removing stuff to it as often as you want.
  • Silverblue, SteamOS, VanillaOS, BlendOS, CarbonOS: distributes "immutable images," so it is impossible modify the operating system at all. Updates will ship an entirely new operating system with all packages built-in. However you are allowed to install software into your home directory, and you can install FlatPacks and AppImages. This provides a great deal of security in exchange for a tiny bit of inconvenience.

My personal preference: I use ordinary Debian or Ubuntu to install the critical software that needs to be stable and reliable, and I use Guix OS on the side to install the bleeding-edge things that might break a lot.

55
submitted 2 years ago by Ramin_HAL9001@lemmy.ml to c/linux@lemmy.ml

Here is my latest blog post on a method of using a laptop equipped with an X11 server as a KVM or graphical dumb terminal (not to be confused with "kernel virtual machine") to display an entire desktop environment on one of the virtual terminals of the laptop. You might be familiar with running an X11-compatible program over SSH, seeing a remote GUI app displayed on your local machine. You could also run a whole desktop environment such as "xfce4-session" over SSH and attach it to a virtual terminal (which you switch between using Ctrl-Alt-F1 through Ctrl-Alt-F7, usually, on Debian-based systems).

This is nice if you have a few always-on Raspberry Pis laying around, and you usually use SSH to remote login and control them, but you would like to have a full desktop environment, not just one app, show up on your local computer.

[-] Ramin_HAL9001@lemmy.ml 36 points 2 years ago* (last edited 2 years ago)

Applications without source code don't exist.

Oh, they meant, "you should have the source code to the applications you use." Well in that case, good call on them.

[-] Ramin_HAL9001@lemmy.ml 43 points 2 years ago* (last edited 2 years ago)

You mean, there are still websites that don't auto-detect what OS you're running and make you actually choose?

view more: next β€Ί

Ramin_HAL9001

joined 4 years ago