Install Termux and run sshd -D -d -p <port>
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
SSH along with the extra stuff it comes with like scp is the way forward.
The two following suggestions make use of secure shell.
Termux and then pkg install mc
(MC is Midnight Commander)
Alternatively, if you are feeling brave and GUI, Total Commander here.
I find the easiest approach is to connect to the pc via sftp and use a file explorer that supports it - such as ghost commander.
I have tried KDE connect, and it never works when I need it to. I just send it to myself on Signal. It's the easiest, most non-bullshit way.
If by wirelessly you mean via Wi-Fi network then one convenient option is qrcp. It generates a QR-code right in your terminal, which you can scan with a phone and send/receive files through a web interface on the URL it provides.
If you want to transfer files regularly, there is another option. Almost every distro has Python installed, and the Python has a "built-in" FTP server.
You need to just cd
into desired directory and run the command python -m pyftpdlib -w
. It will open a FTP server with root in this directory.
You then can access it through a file manager, like Material Files for example, and send files and folders back and forth. In Material Files you can save the server address for future use.
I've been using FolderSync (Pro in my case) for many years to sync files (automatically and/or on-demand) from my phone to my Linux server.
kde connect is my recommendation also
There might be more modern ways of doing this, but I run "Wifi FTP server" on my phone, with my download directory as its root. Then I use filezilla or whatever to transfer what I need. Trouble free and platform agnostic.
uhm, well you can't primarily because android is a hot mess (quick note: this is mostly me ranting about the hell that android is for no fucking reason)
First of all, android only supports MDNS since android 12 and newer, MANY years after the standard was even finalized and put into use. (like a concerning amount) And yes, you can technically use that networking on a per app level (since android 6 or 8 i think), if it's implemented, but most apps don't because they're android apps. And the ones that do are basically useless (very cool thanks android)
Ignoring this, let's say that you have a samba server, and have a local DNS config setup to get around the MDNS bullshit. Oops, funny story, android doesn't natively support SMB shares, because apparently they aren't real and don't fucking exist. Now to be clear, most file managers do actually support SMB, the problem here is that those are often shit, and only supported in the actual file manager itself. If you wanted to per se, mount a samba share on android on the FS level, it is either impossible, or REQUIRES ROOT ACCESS.
Man it's a good thing rooting is easy, and not super convoluted, or risks bricking your phone in the event that it's designed like utter shit and cannot recover from being flashed incorrectly. (to be clear, i don't know shit about rooting, because it's a fucking disaster, and i might be misrepresenting it here, but only rooting, everything else is accurate)
so basically, cool story, the only option here that you have is using apps that are specifically designed to implement their own file transfer functionalities and protocols. There is one redeeming factor to this, and it's the fact that rsync exists, and that it isn't shit, but rsync isn't samba, so eat shit android. Rest in piss you disaster of an OS.
Syncthing is great to periodically sync files between Linux and Android. And you could use it as file transfer service for occasional needs if you just share an empty directory.
Haven't seen anyone recommend Flying Carpet, yet.
I use it to transfer files between my Windows desktop PC and my Steam Deck.
SSH + Termux is one option. X-plore for Android is a good file manager with a bunch of options for transferring files over a network.
The funniest solution I've found was a service that offered secure transfer of passwords between devices through their "encrypted transmission" with a password field on their website
FYI, don't give any password to a service you aren't using with that service
If it's anything big I send it to my synology nas. If it's something small then I honestly just send it through Signal. Although, I do wanna try this kde connect thing out as well.
Primitive ftpd from fdroid is my go-to "too lazy to configure a cloud thing" solution. It is fast and just works.
You should try kde connect
There are some browser based solutions like sharedrop.io and file.pizza. I haven't had the latter work for me though, not sure if it's still functional. They work through WebRTC to discover local candidates for receiving files, the same way that video calling typically finds the best connection.
Security
ShareDrop uses a secure and encrypted peer-to-peer connection to transfer information about the file (its name and size) and file data itself. This means that this data is never transfered through any intermediate server but directly between the sender and recipient devices. To achieve this, ShareDrop uses a technology called WebRTC (Web Real-Time Communication), which is provided natively by browsers. You can read more about WebRTC security here.
For secure private transfer use the Warp flatpak in Linux and Worrmhole William in Android.
I'll throw out another way: to access files from your phone, you can use termux. python -m http.server
Lot of people mentioning kde connect. I'm going to take a moment to clarify, kde connevts functionality is modular. you need the sshfs package for it to mount the phones filesystem over ssh. Once you've done that, it works pretty normally.
The android nextcloud client works great if you're willing to setup/maintain a nextcloud server.
I've been using SSHelper together with rsync for years and it works perfectly. You can log in the first time with a password, and place your public key to use key based auth going forward.
In addition to doing this over WiFi I also often use a usb to ethernet adapter (usb side plugged into phone) to get better performance if I'm doing larger transfers, for example copying off a large number of photos.
Edit: looks like there's a note on the play store page about incompatibility with newer Android versions. Disappointing. I guess I'll have to find another solution when I eventually upgrade my phone.