 So today I want to talk about sharing files between devices on Linux now I could be doing a how-to on this But the problem is is that every distribution does it a little bit differently now the idea is that you can use a Protocol called Samba and basically what this allows you to do is set up your main machine as a server for Specific files and directories that you dictate so you create shares these are called Samba shares and you can either create a new directory or you can share an existing directory or whatever you do This from a configuration file and the general idea is that once you've done that and set it up properly You can go to another device on the same network and access those shares The idea is fantastic because basically what it will allow you to do is have access to whatever Files and directories you want as long as you've set it up ahead of time and then edit or do whatever you want With those files on another machine. It just kind of allows you to have a file server without the whole file server Mechanism right the problem is is that it doesn't work the same on every single distribution This is something that I've been fighting with no matter what distribution that I've been on for the last Five years it doesn't really matter If I'm using Redcore like I am now or I'm using Fedora or I'm using Ubuntu or I'm using Arch It doesn't really matter every single one of them does Samba a little bit differently and it is maddening It's so not user-friendly now some of this is not the distra's fault because it's just the nature of Samba Samba deals with network protocols It deals with ports and all this stuff and every single distribution has rules based on Who can who and what can go through those ports? So for example on Fedora, which comes with se linux you have to Allow Samba to use certain ports through se linux order for to work at all And that's just one way that Fedora does Samba differently if you're using ufw on a different distra or whatever You also have to allow Samba to go through ufw ports. You have to give it permission So the firewall plays into this but another way that it's always different is every single distribution Has a different configuration file and they've all set it up a little bit differently So some of them have pre-configured users for you So if you wanted to use a different you if you wanted to use Samba You'd have to either use their user that they've already set up for you or You'd have to create your own user and that usually means changing the configuration file Which is always a mess and then you get into the whole aspect of Linux permissions and I've ranted about Linux permissions for Literal years at this point Linux permissions are the most confusing part about Linux and I will I could argue until I'm blue in the face But I'm right about this Linux permissions are Bloody confusing and that's just the way it is right. You have to have a Degree in in this basically in order to fully understand what Linux permissions actually do not only is there two different ways of doing Linux permissions, you know, there's the RWX way of doing it and then there's the numbers So you'd have to understand the numbers and then you have to understand what the numbers and the letters actually mean and you have you have You know users and groups and everybody and it's it's it's a mess now. It's a powerful system Obviously, I understand why it is the way it is and it allows you to do a lot of really cool things But it is a really mess and because Samba deals with sharing files and directories from user to user Basically, or from computer to computer or server to client or however you want to look at it permissions play a big role in whether or not Samba actually works and That is not an easy thing for a new user specifically to get around or even someone who has been using Linux for a long time even to get around it because sometimes even if you've been using Linux for years like I have Linux permissions are still Not that intuitive. You know, I still have to look up You know, I kind of get like what 777 stands for I know what 755 is but what 644 You know, it's one of those things right? I always have to go look those things up What are those things actually mean what permission should I be giving? Do I want to give permission to everybody for the Samba in order for it to work? Do I want to give it permission to just the user or whatever? Who do who needs to own the file who needs to have Execution permissions on the file all this stuff plays into whether or not Samba will even function and that is not User-friendly at all the overarching thing about this whole thing is that all of Samba's configuration All of the your ability to share files between computers is done in a configuration file. Now. I'm a nerd. I Like configuration files. I like configuring my window managers and configuration files Even when I was using xfce. I didn't mind going into the configuration files and messing around with the XML and the CSS and all This stuff it was fun for me, but I'm a nerd. I like those things normal people The vast majority of people who want to use Linux don't want to have to deal with configuration files They just don't and I don't think that this is a revelation to anybody You don't if you're you want to do something on your computer You don't have to go into the terminal or a text editor and edit a file in order to get it to work So add on to all the other stuff that I just said, you know The permissions and the different configuration files that each Distribution provides you and the users and all this stuff add on top of all that the the difficulty For a new user to have to realize it in order to share files between one computer and another Which is something that Windows does fairly well You have to go into a configuration file to actually do that. That's a mess and then even on top of that You have to deal with services, right? So if you're using system D You have to have Samba up and running you have to have the Samba service up and running and then every time you make a Change to the configuration file you have to restart the service in order for it to read the new configuration file Or you have to log out and log back in which is ridiculous And if you're not using system D like I'm not using system D You have to know how to you know restart a service using open RC or run it or whatever you're using It's just one added difficulty one added complexity on top of another makes sharing files on Linux a pain in the ass Thank you phone for going off while I'm doing things that my whole rant here is that sharing files between devices on Linux eat whether it's from one Linux device to another Linux device or a Linux to Windows whatever it is is Entirely too difficult not just for new users, but for literally everybody now There's going to be someone in the comments that says well, I always set up Samba and it's perfectly fine To that I say good for you You should make a YouTube video on how to do it so that you can do it no matter on what distribution Anybody uses go make your YouTube video. I will watch it. I will subscribe to your channel but For me personally I couldn't make that tutorial because every single distribution that I've ever been on except whether it's Redcore Ubuntu Fedora, whatever. I've always had some issues now When I was on arch I had the easiest time honestly because arch doesn't set anything up for you I think if I was using regular vanilla gen 2 I'd probably have the same experience even though they're with their wiki entry for Samba derails from talking about sharing files and directories into sharing printers, which I don't need to do So whether or not I'd be able to set that up on regular gen 2 or not. I don't know But when I was on arch That was by far the simplest that I had it because I just used the default configuration file that comes with Samba and Followed the directions that were for Ubuntu by like I used the directions for Ubuntu when I was using arch because the Directions for Ubuntu actually work for whatever reason when I was on arch It was it's a really weird situation and that kind of proves my points What what steps you take to get from point a to point B to get Samba and file sharing to work? Really does depend on the setup that you're looking for or the setup that the distribution has set up for you or hasn't set up for you it is a mess and it is too hard and Honestly, I'm not sure if it could or even anybody would want to fix it at this point I think that Samba is just kind of what people use and Unfortunately, it is just kind of the way it is, right? My idea would be to build it into file managers, right? Have all the configuration done in a file manager that could just you could just right click on something and Enable sharing and it would just work right in the background It would do all the stuff for you that Samba does now you could probably use the same protocol You just right click on the file you want to share hit share and then it is available Available through your user on another computer So you when you click on a user on if you when you click on the file in on another computer It would pop up a dialogue asking you for your username and password to the other machine because that's who owns the file You log in and then it would work. That's my general idea. Now, obviously, I'm not a developer So I'm sure the technical difficulty behind doing something like that is way more than I think it is And I'm a hundred percent sure that's possible and also you'd you'd get into the thing where every single File manager of which there are ten dozen would do it slightly differently And they'd all have to interact and interoperate in ways that don't really work today Like projects that do similar things like between, you know Say crusader and dolphin and and Nautilus and Nemo and kaha and all these things that are all separate projects They don't necessarily work together To do things so having a system where you could share files from a file manager to another file manager on a different device to together probably Impossible so the solution for this I'm not actually sure exists and that's the reason why I said I'm sure it's gonna ever be fixed But file sharing on Linux is I'm not gonna say it's broken, but it's much too hard And I hope that maybe someday I can start, you know Learning some coding or something like that. Maybe I can come up with a solution I doubt it, but hope maybe there's somebody out there that can, you know, think of something that could just please just make it Easier just make it just just a tiny bit easier like standardization. I know that the Linux community does not like standardization at all we Rebel against standardization and one thing just one way of doing things is bad but in this case Having one way of sharing files between devices no matter what distribution you're on would be a good thing and It just would be right It's just to make it so much easier for people who want to share files from one place to another To be able to know that you can go find a tutorial somewhere online no matter what distribution the tutorial user was actually using Or writer was actually using You could follow that tutorial and have it work on your distro distro no matter what you're using that'd be so nice But just not the way it works. So that's it for this little rant If you have thoughts on Samber or network sharing or file sharing or whatever you can leave those in the comment section below I'd love to hear from you. You can follow me on masters on our odyssey those links will be in the video description You can support me on patreon at patreon.com slash the Linux cast links for liberapay and YouTube will be in the video description as well Thanks, everybody who does support me on patreon YouTube you guys are all absolutely amazing without you the challenge It's gonna be anywhere near where it is right now. So thank you so very very very very very much. I did that again I truly do appreciate your support as you can tell I truly do appreciate it. Thanks. Everybody everybody for watching I'll see you next time. I'm the end with everybody being hard All right