dharmik
@dharmik@linuxusers.in
Location: 23.014509,72.591759
76 following 22 followers
- mail at dharmiik [at] proton [dot] me
- i occasionally post in long-form at: https://dhrm1k.github.io
What makes these “mobile apps”? Are they special versions optimized for phones?
They are enabled to (also) run on phones.
What does “enabled” mean?
Fractal can e.g. scale down to mobile:
Hey, Fractal looks pretty cool. Might just replace Element.
Lacks many features atm, eg VoIP, matrix call, threads, etc. Still very promising and I like that it is written in Rust.
I like Commet
Are these your screenshots? If so, what hardware and OS are you running, out of curiosity?
Z+AxpAT+U$e3gT@xm^nFQGfVv5pYXyVucPcR-Lye_8b8#Juqq=SKegf%Q#83!@bqg824S7+n#Y7EfFq$%6Rarfp%+rZ%hCGTGfs!$wX!#x?gBg7gsC7Zt_EkYWdpCtAMgza?a&AX2zh9QvcrfS+^N$E$7-YAzw#GBaRg3@sS5x=SJEk5@D=Jf9ytnNcPJ6UxWFgKLv8+KU22u5ZcHrt!fr_6RKDQV=syj5Wc4ZLuz3!rxefE8M==GgmB#nHYxc^4fXJ%xp7EEug5kVJ_fn7^7EW&9h@Vm=j?rxPsXQ&qDh#WVR!SQKMjSD%Ng&FB^Yvhkqgb#PJa7PX$Pea&3j8!Ud3%cHyyWu?!p47=b!ERBEuEaaFTbQSNmxUME$%QuwK4_%PtQ?q@?N5w9ghDc#6Pbt#@!fCM+qNjT?7%!2!s$gc=w_9@yjMxaDvf-7#R@W##aF%pw2LYf5Z@5TJvXHS#kNHHQDEjEu=kvTf!=PeZm$8$wk#!qexz8AuhEVv3Qwy9uahm@UChpzHvL3+@-HE9vc^Hq?HYxHU9u%AR4zu?v?wXjgJH_8&MvdQUaQ-wpc^H@rjeqy9dpf7$Q!dbs74eNzkPSswR7mEk7PC%T?skFXNNvVqMh7?@n=MDhuZUDX3-eq9CQUWmaSB9-zzxr=hNjDWgr&#=ygQTDJ+k$tGUp=Rgu$zTwA?Fdh@XW_whYNfgwVx$g^Y27WjQQeETeS^ARqA_rAUZM#^ps8P7+fN77CyyQ@xA#*d%DUBNEXLnEb#XJjjdBEYujC!htLmQVwY8^8rtnrt?zYC!%p5$z@-YNFrfCyD9qQ@c83s_BF@+_pgt&$m8m6mLmBtCQCc!fXs?ByrS_N+DJ%H$G&vbYZVTncw!3cN6V_rWF_P7wm^pdLC!YwgL@uqSb9Kd4st@DQrVjLfSLNcxm@nPJ9jx?+GGnmG9L_P+#bQBdn^Ba#E^&CaM?M^QYfB+b_nXS7B^FLWX4%g&6s3f7cWaV9TyTt?BQBjf4hUvE@&GUS
furilabs.com may be of interest.
As I understand it, they’ve made a lot of their own improvements that improve the user experience.
I used to love Sailfish OS.
I guess I still do, but the problem is that while they recently expanded amount of devices they support, for some of them the “support” is just not what you think. Eg. I got Xperia 10 V just for the SFOS, but even though on their main list the device is listed as supported, turns out that camera, Android support and fingerprint sensor, these don’t work. To be fair, this info was possible to find on their forums, and I did not have to pay for SFOS (they offer 6 month trial), so they have nothing to gain from communicating so badly, but it is what it is.
So in case you want to try it, just really make sure you know to what extent your device is supported.
Mereko bhi acknowledgement chayie!
mai bhi kuch banaat hu fir post karta to @dhanashree ki acknowledgement mil sake
my main laptop runs windows because of crappy college requirements (and because i don’t want people seeing what i work on when i connect it to a projector). my other machines usually run pop os or debian. on windows, i use wsl2 most of the time.
i tried syncing vimwiki with syncthing, but ios restrictions (no background apps!) and the lack of working port forwarding on wsl2 made it a dead end. i even tried installing syncthing on windows and syncing the folder directly through the wsl2 directory—no luck there either.
after a lot of trial and error, i finally found a solution that works! i set up a cron job on debian wsl2 to copy my vimwiki files to a windows directory every night at 9 pm. from there, they sync to my other devices.
a thrilling weekend.
@tsturm
Every hacker feels that way for a while, but then Terry made TempleOS, and that takes the burden off the rest of us.
This morning, I went to the doctor for a scheduled appointment. While she was looking at the results of blood tests from two years ago on the screen (and suggested repeating them for a follow-up), I realized she was using Windows 11. A detail came to mind. The doctor is extremely polite and friendly, so I asked her, "How do you handle the feature called Recall?" The doctor was taken aback and had no idea what I was talking about. I was about to drop the conversation, but she, being a serious professional, immediately called the technicians who manage their PCs to ask for clarification. They downplayed it, saying it's not an issue and that it's a feature "on all PCs, so we can't do anything about it." She started to express that she didn’t like it and wanted it deactivated. No luck: they won’t proceed because, according to them, even deactivating it is "a hack that could compromise future updates." She’s furious and will talk to her colleagues and the decision-makers. She wants secure systems because "there’s patient data involved."
In reality, patient data is stored on servers (which I haven't investigated), but everything that appears on the screen is, in my opinion, at risk.
I’ve offered to help them find a solution—because, if I'm right, all they need is LibreOffice and a browser. In that case, I’ll suggest one of the *BSD or Linux systems and do it for free.
I don’t want to make money off my doctor. I just want patient data to be (sufficiently) secure.
#IT #Recall #Windows #OwnYourData #Security #Privacy #RunBSD #Linux
i am yours - jason mraz.
https://music.apple.com/in/album/im-yours/277635758?i=277635828
https://www.uninformativ.de/blog/postings/2018-02-24/0/POSTING-en.html
Project idea: a webcam connected to a raspi that is constantly trained at the sky, making week-long timelapses.
https://viewsourcecode.org/snaptoken/kilo/03.rawInputAndOutput.html
Don't worry, it's a common affliction! You're about to dive into the wonderful world of C programming, where the magic is real, but also, ridiculously, lower-level
So, let me tell you: text editors don't just dump data on your screen. They actually load the file's contents into memory (RAM), which is where the "magic" happens
Think of it like this: when you open a file in a text editor, here's what goes down:
1. **File system**: The OS looks for the file on disk and loads its contents into memory.
2. **Text editor**: The text editor reads the loaded data from RAM (your computer's RAM) and displays it on your screen.
But here's where things get interesting: when you edit a file, those changes don't just magically appear on disk; they actually modify the file's contents in memory
The OS will swap out some of that memory to free up space for other processes, but most of what happens is... well, magic
When you compile C code, it generates machine code (the language the computer understands) from your source code. The compiler translates that into binary data, which gets loaded into memory.
**The compilation process:**
1. **Preprocessing**: The preprocessor expands macros and includes header files.
2. **Compilation**: The compiler converts the source code to assembly code.
3. **Assembly**: Assembler code is converted to machine code.
That's when the real magic happens! The resulting binary data gets loaded into memory, where it can be executed by the CPU
**The execution process:**
1. **Memory management**: The OS manages memory allocation and deallocation for your program.
2. **CPU instructions**: Your program executes a sequence of CPU instructions, which are essentially machine code.
So, that's where you are today! You've got a glimpse into the mysterious world of C programming, where "magic" is just a fancy word for complex computer science
What do you think? Are you ready to dig deeper and learn more about this fascinating world?
Hey I’m very new to Linux and don’t super know what I’m doing, so you’re gonna have to bear with me.
I recently installed Kubuntu on an old desktop my dad gave me, it’s a Dell XPS 8900 with an i7 6700, a GeForce GTX 745, and he upgraded it to have a whopping 64 gigabytes of ram because it kept slowing down and he thought that would fix the issue lol. He upgraded recently so now it’s mine.
Originally I wanted to run Linux Mint but i could never finish the install process because it kept running into some kind of error with the bios, and would freeze there forever even when I let it sit for hours and hours, so I went with Kubuntu since I figured it would be a pretty similar experience? Maybe I’m wrong in that but I figured since Mint is Ubuntu based I’d just go with Ubuntu, but I prefer KDE Plasma so Kubuntu it is.
Kubuntu installed without issue everything was fine and it seemed great, but then I realized every time I booted the machine my main drive would have nearly 100 gigs of extra storage being taken up. I had no idea where it was coming from, I thought I somehow got a virus or something even though it was a fresh install, I had hardly added anything but a web browser and Vencord from the discover store. But after I did some digging I discovered it was the kernlog and syslog files, which were each nearly 350 gigs in size and continued growing the whole time the system was on. I opened them and they were both just full of this error over and over again,
“pcieport 0000:1c.0: pcie bus error: severity=correctable, type= physical layer” “AER: Correctable error message received from physical 0000:00:1c.0”
Probably millions of times honestly for it to be that large in size. I have no idea what to do about this, I tried updating drivers, reseating components, but nothing really seems to be working. Does anyone have any ideas? I apologize if it’s an easy fix but I’m literally brand new to this and don’t know anything lol.
Me 6 months ago: hmmm PeerTube looks really interesting but I don’t understand how I can use it. Do I have to create a new account? Pick an instance? But which one? Nah, too complicated, I’ll check back some other time.
Me today: oh YunoHost has PeerTube in its list of apps. Maybe I’ll host my own single-user instance! 🤗
@_elena that's really pretty cool - I wasn't aware of YunoHost. Looks likes a thing that makes the start ways easier
@_elena I spent some time looking for VPS prices now. This is really tempting! Last time I was checking, the VPS prices were quite higher. But with 1-3€/Month it's really not worth the effort to have a raspi at home.
Thank you Elena for bringing that back to my mind. An own peertube-instance just for my own stuff would be quite tempting
Like the question above am I just an old man that’s not keeping up with the times or is terminator still a great terminal to use in 2025?
I’m an old man. I don’t get the appeal of a terminal with hardware acceleration and all that fancy stuff. I use what the distro/DE came with.
I’d like to think there’s a difference between “keeping up with the times” and chasing whatever new thing gets advertised.
Unless you’re really into number chasing with benchmarks then just keep using whatever you like until something YOU find better comes along.
Also I’m GenZ and just use whatever comes with the DE, it’s not an old person thing shakes fist.
The main advantages I have felt with fancy terminals are
On my Mac, I use Retroterm because emulates Old CRT screens - with scan lines and ghosting and stuff .
Does nothing , crashes sometimes, but is Lots of fun if you’re the guy that remembers floppies.
Multiple GNOME terminals in one window!
Terminator was originally developed by Chris Jones in 2007 as a simple, 300-ish line python script. Since then, it has become The Robot Future of Terminals. Originally inspired by projects like quadkonsole and gnome-multi-term and more recently by projects like Iterm2, and Tilix, It lets you combine and recombine terminals to suit the style you like. If you live at the command-line, or are logged into 10 different remote machines at once, you should definitely try out Terminator.terminator sounds great. never heard of it. i did try ghostty, but i can't help myself opening xfce terminal. muscle memory.
I’m no connoisseur, but I just want the same feel as I had back in the 90s. No terminal emulator, straight up tty with crisp VGA ROM fonts at some hacky SuperVGA resolution.
Konsole, gnome-terminal and ghostty can all be made to feel right to me. I’m giving ghostty a spin, and I like how it supports custom shaders so I can make it feel even more like home.
SQLite is a remarkable piece of software and I've always been curious about the system and the project. Here are several little known facts about SQLite.
@amoroso huh! That's fascinating. I think I need to think more about using sqlite.
@AndreasDavour SQLite is underrated.
SQLite is so fast, they compete with fopen. For some use cases, you can use SQLite instead of a filesystem, that can be 35% faster.i’d love a deep dive into this.
@amoroso this is missing the fact that #SQLite was created originally as essentially a #Tcl extension. That also helps to shine line on some of its interesting idiosyncrasies. The @tcl_tk language still plays an important role in SQLite’s development. Basically if you like SQLite, and you should, you’ll like like the Tcl language.
blogs rot. wikis wait.
your digital abyss is filled with topics i just want someone to keep talking about.
@dharmik it’s wiki software by @bouncepaw called mycorrhiza! a really great little wiki.
and thank you!! one thing i want to do a lot more of this year is write :3
this little poem is inspired by my thoughts on wikis being a better medium for personal websites than blogs, and should be the default choice.
blogs _seem_ obvious, but they're actually unintuitive and very disruptive to the creative process.
blogs demand that you edit, perfect, trim, idealize anything you're about to publish. the barrier-to-entry _feels_ high.
wikis are forgiving - they don't care if you have a page called "fjlorb" that you jot random interesting words down in. wikis are life companions - they contain lists, images, projects, dreams.
blogs contain a list of posts.
all snail the personal wiki movement.
@j3s I forgot that this was even an option and now I feel a fool!
if I'm honest, I love my lil website but I hate the blog inside it. bellying up to write a post is a small nightmare
@stillgreenmoss the nightmare of writing a post is so real. i really don’t know how writers do it
@stillgreenmoss also i adore your website, sometimes i visit it just for the vibez
@dharmik okay let's hope you can do this lol
@piku I used to use that lol
<leader> + ww
to open the vimwiki index page, but the categorization part adds too much friction.setting up lsp in neovim is a pain, especially compared to helix or emacs, which is why I will not be doing it
@crmsnbleyd I know right? I stopped using my own setup and started using https://www.lazyvim.org
Have you tried?
@dharmik here is a list of it's core plugins https://www.lazyvim.org/plugins
I am a Linux beginner/amateur and I have sort of had enough of copy and pasting commands I find on the internet without having a good understanding of how they actually work.
I guess my end goal is to be able to comfortably install and use arch Linux with my own customization’s and be able to fix it when things go wrong.
What tips/ideas do you have for getting better at navigating the terminal, and getting a better understanding of how the os works. What is a good roadmap to follow? And how did you, advanced Linux user, get to the stage your at now?
man command
and just read through it. If you want less text, use curl cheat.sh/command
(learn how to use aliases) or the tools tldr
and cheat
$pwd cd echo cat nano less more chmod chown #your package manager lsblk dd #be careful! udisksctl lsusb lspci ...
Install the fish shell, it makes using the terminal waaay easier, out of the box.
Not a good idea if the goal is to learn more about Linux. Fish is not compatible to and is different to Bash in some ways, that it would be hard once not using Fish. Also getting help or sharing scripts with others will be problematic, when having a problem and researching it. For someone coming in to Linux and wanting to learn about it, I highly recommend to learn about Bash first and use it at least for months before even thinking about a custom shell. I used Fish too (and I miss some features), so its not like I wouldn’t know what it is.
Install Alpaca flatpak, and use tinyllama or bigger LLM models.
Alpaca is nice. GPT4All is also another one (and one that I prefer). Either way, both are good. But again like previous point, I do not recommend to install and use Ai modesl (LLMs) to learn about Linux and to get used to it. Especially the smaller models often hallucinate and lie with false claims. If you don’t know it better and are currently learning, this could be a problem. I highly discourage from installing and learning with an Ai model alongside when you are new to a topic like Linux. Its also not like there wouldn’t be enough good material out there anyway.
Fish is just a shell, you can still write and execute bash scripts
Fish is rewritten in Rust btw
Also the syntax is waay better, it should totally replace bash
My point is that Fish is not standard Linux tool. If the goal is to learn more about Linux, it makes more sense to learn about Bash first. I’m not against Fish. For a newcomer its just confusing when researching stuff or reading others scripts in Bash and constantly think about the differences in Bash and Fish. Or if you want to share a script with someone who does not have Fish. I’m not saying Fish is bad or anything like that. I’m just saying for a newcomer its not a good idea to ignore Bash and learn Fish first for someone who is interested into learning more about Linux and its eco system. Fish itself has the better language, no doubt about it and is actually better than Bash. But the quality is not my main concern in the reply.
As I said. Fish can just be a shell. I only write bash scripts. All bash scripts have #!/bin/bash
at the beginning so it doesnt matter.
I dont know about fish errors. If something doesnt work, I enter bash
and then run it again. I enter exit
when I am done.
That does happen but the workaround is easy
Apart from that, instant suggestions, history, arguments and available commands already help a lot.
Fish can just be a shell. I only write bash scripts.
That’s the exact problem. You deal with two languages. I did that too BTW. Now for someone who is experienced, its fine. But for someone who just started learning about Linux and scripting, its not ideal, as it adds unnecessary complications and friction for a learning process that is already complicated. Because learning Bash is a must do in my opinion. Regardless what custom shell you use.
After that learning process and getting familiar, one still can decide to use Fish as the interactive shell. But that’s AFTER the initial learning process of the basics of Linux.
See if your library has "How Linux Works" - https://www.amazon.com.au/How-Linux-Works-Brian-Ward/dp/1718500408
I have been using Linux since the early 90s. I don’t know it all. I read man pages. I use -h or --help. I read the arch wiki. I read docs. I read source files and examples. You will never know it all. There is too much information.
You need to know how to find information. It can be tricky. Knowing how to ask the right questions often requires you to know a bit of the answer.
Stumbling about trying to find answers is training the skills you need.
I think it helps if you have a programming background and IT support experience. Not just because you will understand more concepts and terms but because you have already developed some of those skills but some people come from other backgrounds and pick things up really quickly.
To be honest I’ve been using Linux for years and I still paste commands all the time. The only difference is that now when I am trouble shooting I know what command I need just not the options and how to use it
More than anything, what leveled up my Linux knowledge was switching to Gentoo back while I was in college.
Before that, I used SuSE, and I switched specifically because I felt like I wasn’t learning anything really about Linux just by using point-and-click tools like YAST.
I’ve used Arch for the last… 7-ish years? (Though now I’m basically in the process of switching back to Gentoo. In terms of learning Linux, Arch is… close to as good as Gentoo for that purpose. Not quite as good, but pretty close.)
As for the best approach for learning, though, you know how they say the best way to learn a language is “immersion”? As in, to move to where they speak the language. In the same way, if what you’re going for is to learn, just take a dive. Install Arch over top of your current OS and don’t look back. Just commit to it.
Also, use the most minimal stuff you can. Skip KDE and use dwm. Skip the login manager and start your GUI from the command line. Don’t install a file manager and instead use Bash directly. (It’s more than capable.) Don’t install anything you can do instead with a Bash one-liner or a small Bash script. If after you’ve gotten pretty used to minimal stuff you still want something that the heavier alternatives offer, you can of course switch, but if your aim is to learn, avoid using the kind of stuff that tries to be “user friendly” by hiding all the internal implementation details from you. (Instead use the stuff that is user friendly by virtue of having so few moving parts that understanding how it works under-the-hood is trivial.)
And, don’t settle for “it’s fucked beyond repair.” If it’s fucked, google your ass off. If that doesn’t work, ask on the official Arch forums or here or wherever. (Don’t worry, they don’t bite.)
Is bash ultimately better than dolphin or another file manager? I always thought that it just seamed slow having to read things out with no icons and having to type the filename instead of double clicking. And I have been avoiding installing applications through terminal because I can’t find how to properly uninstall them including all data (the fedora software center does this really easily) I have also had some trouble going further back that my user folder in the terminal I still havn’t figured out how to do that. Lastly what are some “user friendly by virtiue of having few moving parts” distro’s that you recommend?
Is bash ultimately better than dolphin or another file manager?
Yes. (Disclaimer, some statements contain opinion.)
OP was specifically asking how to learn more about Linux. And it’s nearly unquestionable that OP is going to learn more about how Linux works if they use the lower-level tools rather than take-you-by-the-hand point-and-click-adventure programs your grandmother could probably figure out.
I always thought that it just seamed slow having to read things out with no icons and having to type the filename instead of double clicking.
So, again, this is just me spouting my own preferences here, but I don’t often touch the mouse. Moving my hand from keyboard to mouse takes time. I can use a keyboard shortcut to open a terminal, cd into the proper directory (using tab complete and set -o vi
to make things quicker still), and start dealing with files much quicker than I could navigate a menu to get to, say, Dolphin, wait for it to load (if you use a minimal terminal, it should load basically instantaneously), and then start navigating.
And I have been avoiding installing applications through terminal because I can’t find how to properly uninstall them including all data (the fedora software center does this really easily)
Not sure I can help you there. I’ve never used Fedora. I used CentOS once for a short time, but it was a long time ago and I basically don’t remember it at all.
I have also had some trouble going further back that my user folder in the terminal I still havn’t figured out how to do that.
Like, to the parent directory of your home directory? cd …
should always go to the parent directory of your current working directory. (/
is its own parent, I believe, so you can’t go any further up the chain than that.)
Lastly what are some “user friendly by virtiue of having few moving parts” distro’s that you recommend?
Gentoo and Arch. I’ve never used Void, but it sounds to me like Void is very minimal (has few moving parts) while also being much less of a learning curve than Gentoo and Arch.
When I say “few moving parts”, I mean, roughly speaking, fewer lines of source code. KDE (just for instance) is a huge beast. It tries to accomplish user friendliness by adding layers upon layers of abstraction, in the process obscuring what’s really going on at lower levels from the user. It… doesn’t really work. What it gains you in reduced learning curve becomes an obstacle the moment something goes wrong or you want to peek under the hood. Ubuntu (just as another example) installs tons of stuff to try to shield you from the nitty gritty details. But again, that causes more problems than it solves unless you’re dead set against ever looking under the hood for any reason.
The term “user friendly” tends to mean “my grandmother can use it without having to learn anything in the process.” In the comment about “user friendly by virtiue of having few moving parts”, I didn’t mean “user friendly” in the same sense. I don’t think “user friendly” in the more common sense id mutually exclusive with “fewer moving parts.” At least not in theory. But in practice, that does seem to be the trend.
OP was specifically asking how to learn more about Linux. And it’s nearly unquestionable that OP is going to learn more about how Linux works if they use the lower-level tools rather than take-you-by-the-hand point-and-click-adventure programs your grandmother could probably figure out.
Yes I am op.
and thanks for the reply. So I guess I should just skip anything with a desktop environment like manjaro and just figure out how to install bare arch?
Like, to the parent directory of your home directory? cd … should always go to the parent directory of your current working directory. (/ is its own parent, I believe, so you can’t go any further up the chain than that.)
Yes cd …
was what I was looking for thanks!
Yes I am op.
Ha! That’s what I get for posting on Lemmy at 2:00 am. Lol.
So I guess I should just skip anything with a desktop environment like manjaro and just figure out how to install bare arch?
You can certainly start with a bare Arch install and install on top of that a graphical environment. (Without a graphical environment, you wouldn’t be able to run a full-featured browser like Firefox or Chromium or whatever, for instance. I’d think if you intend to use this system as your daily driver – and I’d recommend you do for learning sake – you’ll probably want a graphical environment.) But, yeah. I’d say Arch isn’t that unapproachable to install without going the Manjaro route or the “archinstaller” route.
With Arch, everything’s just packages. The difference between non-graphical Arch and graphical Arch is just that non-graphical Arch doesn’t have any graphical system packages installed.
Now, I keep talking about “graphical systems”. There are two ways to go with that. There is X11 which is mature but a bit dated. And there’s Wayland which is the new hotness but support for it is still a bit lacking, so some features like screen grab may not be supported by all programs and some programs won’t work as straightforwardly on Wayland. (Basically, any time a program grabs an image or video of any portion of the screen of your graphical environment, that uses the “screen grab” API. Wayland does that differently than X11, so a lot of programs aren’t updated to use Wayland’s way yet.)
I guess I’d probably lean toward recommending X11 at this point. I personally use a Wayland compositor (Sway, specifically), but I don’t think running Wayland is going to teach you much that X11 won’t, and running Wayland at this point is likely to introduce frustrating wrinkles. If after you have your Linux “sea legs” you want to try switching, that’s always an option as well.
As for minimal X11 environments, first off, I’d say avoid things that describe themselves as “desktop environments”. They’re likely to hide details from you. Prefer “window managers.” Tiling window managers tend to be more minimal, but if you want to go with a more draggy-droppy, mouse-driven window manager that feels more like what you’re probably used to (but also doesn’t hide details), I’d recommend IceWM.
And, finally, as far as a “bare Arch install”, the place to start is the install guide on the Arch Wiki. It goes step-by-step on how to do things. And take the time to understand the commands you’re running as you’re running them. There are a lot of links in the install guide to more in-depth articles. For instance, the “partitioning” section links to an article called “partitions” that goes in depth on what a “partition” even is.
There’s a lot to learn, but it also pays off. Both in terms of just having the power to do the stuff you want with your own systems and in terms of benefits to your career. And it’s just plain fun!
Thanks, I guess I will go with x11 with a tiling window manager, I’ve had enough of windows being on top of each other and I like the idea of using my mouse the least amount possible. One last question most apps and packages don’t support pacman sometimes the only option is to install with apt and you download a .dev file is there a way to get around this?
Great question!
So, first off, if I knew what app(s) specifically you have in mind, that’d help me answer better, but in general:
makepkg -sf && sudo pacman -U <something>.tar.xz
. You can also get some helper scripts that do some of those steps for you for convenience. Definitely worth having the experience of doing it manually a few times first, though, I’d say.) Even if the only way to get the software in question from the publisher is in .deb form, you may still find a package on AUR that will unpackage the .deb and package the result up into an Arch package.$HOME/install/<softwarename>
. This can work even if the software is only available as a .deb file. You can just extract the .deb without installing it with the command ar x <blah>.deb
and a tar -xf data.tar.gz
and then put the files from within that .deb file where you want them.Just in case it’s useful to you, I’ll share the PKGBUILD I wrote for converting the Ubuntu kernel into an Arch package. It demonstrates how you’d go about extracting files from a .deb file in order to build them into an Arch package.
pkgname='linux-ubuntu' pkgdesc='The Ubuntu kernel, modules, and headers' pkgver='5.15.0' _pkgver="$(cut '-d.' -f 1,2 <<< "${pkgver}")" _firmware_ver='1.187.29' _suffix_ver='20.04.2' pkgrel='25' arch=('x86_64') options=('!strip') url='http://ubuntu.com/' source=( 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_'"${_firmware_ver}"'_all.deb' 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-headers-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-hwe-'"${_pkgver}"'-headers-'"${pkgver}"'-'"${pkgrel}"'_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_all.deb' 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-signed-hwe-'"${_pkgver}"'/linux-image-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-modules-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-hwe-'"${_pkgver}"'/linux-modules-extra-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'linux.preset' ) noextract=( 'linux-firmware_'"${_firmware_ver}"'_all.deb' 'linux-headers-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'linux-hwe-'"${_pkgver}"'-headers-'"${pkgver}"'-'"${pkgrel}"'_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_all.deb' 'linux-image-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'linux-modules-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' 'linux-modules-extra-'"${pkgver}"'-'"${pkgrel}"'-generic_'"${pkgver}"'-'"${pkgrel}"'.'"${pkgrel}"'~'"${_suffix_ver}"'_amd64.deb' ) sha256sums=( '22697f12ade7e6d6a2dd9ac956f594a3f5e2697ada3a29916fee465cc83a34a1' '595794e8ad28ed130af60e6ec8699313e1935ae70f7530a00b06dff67fb4d40e' '22dbdc1895f91d3ad9d4c5b153352f1cc8359291dba6ea1a0e683cc6871b0f58' '5705cefab39dd5512bcc515918d09153715c7bb365d6bc29cc9b0580e5723eef' '3d207388812e957447162c067fb637b4d06eccb4f303b801e8402046a7d3cf48' '2f1214dbb04cb47ce8d096bff969fca9c78c26ec21a395c12922eca43cc18e26' '75d7d4b94156b3ba705a72ebbb91e84c8d519acf1faec852a74ade2accc7b0ea' ) package() { for f in "${noextract[@]}" ; do ar x "${f}" tar -xf "data.tar.xz" -C "${pkgdir}" done rm -r "${pkgdir}"'/usr/share' rm -r "${pkgdir}"'/usr/lib' mv "${pkgdir}"'/lib' "${pkgdir}"'/usr' install -Dm644 'linux.preset' "${pkgdir}"'/etc/mkinitcpio.d/linux.preset' }
(I omitted the linux.preset
file. It’s just in the same directory with the PKGBUILD and it gets bundled into the Arch package. But it’s not really important for what you’re doing unless you’re trying to install a different kernel than the official Arch kernel on an Arch system.)
The part that extracts the files from the .deb packages is the ar x
command and the tar -xf
command. The package()
function there is what decides exactly what files will be in the Arch package and where. And makepkg
builds the package archive after running package()
.
That covers all the options for installing software not in the Arch repos that I can think of.
Work at the tip of your “paygrade” and try to make immersion as fun as possible. Maybe consider using a different disk for Linux, since mistakes are the best way to learn. (Don’t reinstall just because something broke).
Here are some fantastic ways to make mistakes:
yt-dlp
? Perhaps make a shell script for something? Maybe search the AUR for something cool to try out (underrated function of the AUR: test-driving!). With a terminal, who needs file explorer?journalctl
or dmesg
or –verbose
or whatever)? This is a skill you don’t lose – and we’ll be happy to answer a good question.Of course all of this depends on where you are (the tip of your paygrade). For pasting commands specifically, as you said… do 'em one at a time – and understand each one.
Like, what is piping |
? Why is xargs
after it? Why can one stop ping
with CTRL+C
? What does man curl
say about this weird curl
command? How does one even read a manpage well, anyway? Why is there so much gpg
?
And at the end of the day… remember how fun this shit is. The engine is open; we’re allowed to look inside. Woohoo!
Start running servers if you haven’t already. Use an old computer, or an SBC or VPS and setup some Linux servers. There’s lots of different ways to do it, so mess around and break shit over and over. You can’t help but learn that way, though I would highly suggest you take notes/documentation. This is a habit I’m trying to develop after too long :)
If you’re in the position to take certificates then that’s a another way of learning a lot. At least it has worked for me. I’ve over the last half year taken RHCSA and RHCE from RedHat - though paid by work. Theses in specific are expensive, but I’m sure there are other ones that are cheaper. This would also allow you to ‘show off’ your skills in an official way should you need to, for applying for certain jobs etc…
I at least find this way to be helpful as you have to motivate yourself to learn and pass an exam to get the certificate. It might not be for everyone though.
Switch to rolling distro, it will break so many things with each update you’ll learn stuff by fixing it. Also you can check overthewire.org/wargames/bandit/
I thought rolling releases were still pretty stable to things really break that often?
here’s the theme https://github.com/dhrm1k/nostromo.vim. feel free to use it. fork it. edit it.
1. first test: sum of squares up to n (n = 10^6)
results:
using for-loop:the generator was slightly slower than the for-loop, which was surprising, since i expected the generator to be faster.
time taken: 0.271047 seconds
memory used (result): 32 bytesusing generator:
time taken: 0.278367 seconds
memory used (result): n/a
2. increased complexity test:
next, i made the test more complex by adding conditional logic (square even numbers, double odd ones) and using dictionaries instead of lists. the results were something like:
Using for-loop:yes, now the generator was faster, though slightly. it appears the change is only there when the dataset is bigger. #python
Time taken: 0.998669 seconds
Memory used (result): 32 bytesUsing generator:
Time taken: 0.990227 seconds
Memory used (result): N/A