From a developer’s standpoint, one of the bigger pain points of Wayland is window embedding.
If you want to embed from an external process, the only way to do this is to have your application expose its own Wayland compositor and then have the embedded process use that Wayland compositor. No one has made a library for this as of yet.
If you want to embed from the same process, it shouldn’t be too difficult; you just need a wl_subsurface. However, this doesn’t work too well with most GUI toolkits.
Wayland is just radically different from every other windowing API, and I’m hoping that the GUI toolkits can adapt.
I preordered on announcement day, I expect it’ll arrive December. I am excited for it to replace my 12" iPad pro. The 3:2 screen is perfect for reading and office app work.
I put Ubuntu on a handful of Surface Pros a couple years ago for work, and while the process wasn’t horrible, I was wishing for something with more native support the whole time. Nice to see I wasn’t the only one.
It’s been awhile and I haven’t tried to latest hardware, but I’m sure it’s still doable. The process wasn’t terrible, just a few extra steps to add compatibility for some of the devices.
I find that even if you get a touch primary device, make sure to get one with a keyboard, Ubuntu, Fedora, doesn’t matter, KDE, Gnome doesn’t matter, the touch only experience on linux is simply not great. Make extra sure to get the keyboard with it if its optional.
+1 have been trying to make a Linux tablet work. Gnome is alright but it’s got a crap CPU and 2gb of ram and nothing lightweight has good touch support annoyingly
I am, very hesitantly, optimistic for the new smithay based compositors. Cosmic doesn’t have touch support yet, but it’s super light weight, I get better perf then I do even with KDE. I plan on swapping to it full time on my tablet when it gets touch support. (and when some touch friendly gui stuff is available). you also have catacomb which is an actual mobile compositor. Very promising stuff, but still very far out
I was trying things along the lines of hyprland, sway and i3. I have this idea in my head that a touch screen tiling WM would work really well (from what I’ve seen that’s what people love so much about the iPad nowadays anyway)
Hyprland has something called hyprgrass I think which enables touchscreen gestures, still in the process of figuring out how to install that in NixOS though. (it’s got a nix.flake but it’s not in nixpkgs and I’m still unsure of how to install flakes to a traditional configuration.nix setup)
You could probably look into something like paperwm or Niri, I think scrollable window managers have a lot of potential to be a novel but good touch experience
EDIT: Im not sure if niri support touch, I havent tested it, but I think i might actually try it myself when I get the chance now
I think you could install your system using a generic kernel, package it up as ISO and just boot it on basically any other machine with the same architecture. Proprietary bits like NVidia driver and firmware could pose a problem.
That’s basically what a live USB is.
You could likely use dd or clonezilla to create a duplicate of your boot drive and boot your laptop right from that, but that’s not quite what you’re after.
There are some distros lately that use a declarative config file to set the whole thing up that I think is much more what you have in mind. The big ones that come up a lot are nixOS and Fedora Silverblue. Maybe one of those systems would be to your liking.
dd duplicates directories. It’s a terminal app. Built into all Linux distros. For more details, do a man dd in a terminal session. Clonezilla is a distro that runs a live system from USB or DVD which lets you backup and restore entire systems. Both are powerful, but have a learning curve.
Usually with most Linux distributions you can just make a tarball of the entire system (don’t forget the p to preserve ownership,…) and unpack it to a new partition, install the boot loader again and it should work on a new system, as long as the kernel does work with the hardware on the new system. Alternatively you can reinstall and keep your home directory to keep all your user config.
You dont even need a separate partition, just dont format and dont delete the /home folder. You can even keep the /etc folder as well to keep system wide settings.
I just copied my whole root partition to a new Laptop over netcat. It still has close hardware (Intel CPU, no extra GPU, etc.), but some differences in interfaces etc.
Things one might have to consider:
/etc/fstab will need to be redone
All interfaces changed, so network configs may need to be updated
Other programs relying on hardware or paths that don’t exist anymore need to be updated (eg. conky did not work due to i8k being not supported, other interface ids etc.)
But literally nothing that would break anything. Because Arch is usually installed manually, one knows what needs to be cared for, what could break or could cause certain issues.
Analyzing your comment in a different light. What your saying is if I copy my /home (someone said /etc too) over to my laptop, and back it up as well, I’m golden?
would different hostnames and usernames make a problem? As far as my knowledge goes it won’t as long as I also bring /etc over, but I have no Idea if /etc is connected to something deeper or not.
And also also, might seem like a dumb question but I had to edit a file to automount my other disks at startup, won’t it like break everything if my system only gets /home after boot or something? Caz I have enought free space to copy over my existing /home, delete it, partition, and mount it back. What’d the benefits and dangers be?
if I copy my /home (someone said /etc too) over to my laptop, and back it up as well, I’m golden?
/home yes., but ideally only files and dirs starting with a dot (so called “dotfiles” under your home dir. tar cvfa homedots.tar.gz /home/username/.??* should take care of it.
Please note it will include some large stuff that’s probably not needed, like .cache, or some individual caches for other apps that don’t use .cache, like the browsers.
Don’t copy /etc, it’s usually machine-specific.
would different hostnames and usernames make a problem?
Hostname no (if you don’t bring etc). Username technically yes, you may want to rename the home dir. The user id and group id are important too but usually off it’s the first user on the same distro it will receive the same ids (typically 1000 nowadays). If not, you can change that manually and recursively chown 1000:1000 -r /home/username.
To clarify, /etc can have things that are relevant for the machine so you may want to back it up, but it’s not usually transferrable directly to another machine because it probably doesn’t play the exact same role. It has things like service configs, network configs etc.
Even if you’re trying to migrate a machine to new hardware and the machine will play the same role it’s best to pick and choose files from /etc/ on a case by case basis. What I do is grab a tarball of /etc and set it aside, then if I need to redo something the same way it was on the old machine I can dig through the tarball and only use the relevant files.
Like I said it’s extremely specific. For example if I want to reconfigure the SSH daemon that’s usually a couple of lines which I know by heart (turn root login and password logins off) which I can do by hand; if I want to reconfigure CUPS printing it’s best to use the CUPS admin interface to autodetect the printer, you don’t usually want to mess with its config files; for some things like /etc/fstab or NFS or RAID I may want to copy some stuff but edit the disk UUIDs; for some things like Samba I could in theory copy the config straight over. It varies.
The list of installed packages may also be relevant when you migrate to a new machine. Different distros have different commands for obtaining a list of installed packages, and different ways of using that on the new machine to restore the same package selection. This is useful and typically can get you started much faster on the new machine.
I don’t know by heart if it’s able to do your bidding, but perhaps it’s worth checking out penguins-eggs. I guess the following would be its elevator pitch:
“penguins-eggs is a console tool, under continuous development, that allows you to remaster your system and redistribute it as live images on usb sticks or via PXE.
The default behavior is total removal of the system’s data and users, but it is also possible to remaster the system including the data and accounts of present users, using flag --clone. It is also possible to keep the users and files present under an encrypted LUKS file within the same resulting iso file, flag --cryptedclone.
You can easily install the resulting live system with the calamares installer or the internal TUI krill installer.”
I have done something similar following this post - loads of others have created similar scripted installers for Arch for their specific use cases and this guide takes it one step further with custom arch meta packages that hold deps and system wide config.
You can also do similar things with tools like ansible or saltstack or similar tools. Though these all take the approach of define your configs and system to automate the setting up of a system approach rather than the backup or clone an existing system. So are more effort initially but are able to keep multiple system in sync with system configs with far less effort then trying to create a backup/restore system for organically created configs.
that wouldn’t work (I think) because my laptop has vastly different hardware
Should not matter, you can install all the packages all your system need - such as both nvidia, amd and intel graphics drivers and the kernel will only load the ones for the hardware you have booted with. Or if you really need different configs or packages for different systems the various approaches have ways to do that.
Most done with the latter. But the nice thing is once you have done it once it is much easier to keep things up to date and in sync from then on words. You can also peace meal it - setup one application at a time and migrate things one by one over to it.
painstakingly manually code every unique facet
That makes it sound a lot worst then it actually it. It is only a bit more effort then setting something up for the first time manually. And pays its self back many times over when you next need to reinstall or install a new system. Assuming you keep up with making changes to the code and not directly to your system each time.
This is basically the reason why I wanted to ask early. Two problems.
Already kinda late… And, idk how to configurate Firefox addons from the terminal. Even if I did, there’re a bunch of other apps too. I’d need to do so much research.
It’s really hard to [accidentally] permanently break Linux to the point of requiring a reinstall.
Here’s a really good tip: Keep a live distro (I use Mint) on a USB drive. If something real bad happens, you can boot into the live distro, and chroot into your OS and do the repairs you need. While also having a live distro with web access and a browser to help.
I broke my GRUB once (or twice) and fixed it again this way.
Keep a backup of your /boot folder, GRUB (or equivalent) configs, etc, also check documentation on Arch wiki for boot process. 99.9% of the time you should be able to fix things to at least get to a TTY after boot.
heading in a completely different direction that what you were aiming for, but the declarative distros (currently a subset of immutable distros) like NixOS and Guix are trying to solve just this sort of issue – their main focus is on dealing with development environments but a lot of people have been enjoying them on desktop environments as well
ex. with NixOS, your entire system configuration is stored in one master config file /etc/nixos/configuration.nix (that you can optionally keep synced with git) – the main config can be modularized (ie. break out the hardware definitions into its own include so you can still use the master config on both desktop and laptop) – and Nix has been making big strides with Home Manager, their own way of being able to collect and define all of your home directory config files and theming
currently, NixOS is not for the faint-of-heart, documentation (both quality and lack of) regularly gets critiqued – NixOS and Nix package manager are all configured in the Nix language, a functional language used nowhere else
Guix comes out of the GNU project so dealing with proprietary drivers is harder than it needs to be – Guix is configured in Guile Scheme
You’re not the only one who mentioned NixOS. But you warned me about the quality. Thank you.
Also, I’d really not want to switch of my current system. I already have data, configs and everything. I probably could re-do it in days, but seems like a lot of struggle to use a worse distro in the other 99% of the time when I’m not thinking about moving configs to my laptop.
It’s a better distro, not a worse one. This is because it has easy rollbacks, upgrades, etc. You never get stuck with a broken system since the previous state is in another entry when you boot. You only need to hit down arrow and enter to go back to the previous configuration even if you can’t boot right now
linux
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.