-
Notifications
You must be signed in to change notification settings - Fork 265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please add support for FreeBSD #727
Comments
Would love to have this too, seems like the most work would be around vscode server but considering the deps you list for Linux it seems entirely possible. |
The server's OS is FreeBSD. |
What would happen if the architecture check was simply ignored/skipped? Would it just work? I can't imagine what kind of esoteric commands being issued over a standard SSH connection would be so architecture-dependent that Linux would work but not FreeBSD. If it's just a matter of using full paths to executables or environment variables, I'm sure we FreeBSD users could create a compatible environment. |
I actually tried to work around that it does work if u fake it (meaning it passes this check) but it will then try to install things using what would be expected in linux, some would need to be convert to FreeBSD, but more importantly we need vscode-server built for FreeBSD |
Yes. I saw that it creates a .vscode-server directory. Client software that silently installs stuff in the user's account is unexpectedly hacky and unfriendly. (I just got a horrible flashback to those ghastly server-side FrontPage web extensions provided by Microsoft 20 years ago!) I think Microsoft should specify the server environment they require and leave it up to the developer community to create their own compatibility packages for their OS. Then it can be cleanly built and maintained by the best folks who know best, managed using standard package management tools (e.g., pkg under FreeBSD). The user's home directory would then have a set of symlinks or similar mechanism for providing the expected support interfaces. This can't come soon enough for me. I'm finding that vscode's git features over the Internet to a remote Samba server is excruciatingly slow -- taking a full minute to do a simple commit. (Any tips/workarounds are appreciated!) |
I'm just guessing, but this shouldn't be too hard, since the server is probably built with TS/JS, right? If the source is available, I'd like to help with this. |
Thats the issue though the source is not available AFAIK, Microsoft would need to built it and release it, so it can be downloaded on first setup, this is the critical part here. I didn't find any reference to the source so far. |
I suppose if someone has the Linux zip we could look into it and see if freebsd Linux emulation works. |
Same problem. I can contribute to solve this problem. What is main problem that prevents VS Code from supporting FreeBSD? Is it fault of FreeBSD ssh server or Open SSH or VS Code remote SSH extension problem? |
The main problem is what I described, the vscode server component is not built/distributed for FreeBSD, since its also not open source only Microsoft can do it. Alternately perhaps we could look into using Linux emulation and then patch the extension side to use the Linux version and do whatever is necessary to get it to install on freebsd, the issue is not ssh or the extension it self (that probably easy to handle). |
This is currently the issue blocking me from using VS Code. Please let me know if there's anything I can do to help make this work. |
+1 to please add support for FreeBSD!!! I am sure there are many others who would use it also. It can't be too hard to adapt it to FreeBSD given that it is largely based on the SSH protocol. Thanks!!! |
Agreed, please add FreeBSD support! |
+1 Agreed, please add FreeBSD support! |
1 similar comment
+1 Agreed, please add FreeBSD support! |
Please add FreeBSD support ASAP. I can't work on my favorite text editor coz of this. |
Please add FreeBSD support. |
It's great that we have some spiking activity here, the issue might get some attention, but I'm not sure how constructive it is. I'd like to add something: Please point us to the server source code so we can add FreeBSD support! I'd be willing to help, and I'm sure others would be, too. |
@Follpvosten +1 I've pointed out the same before, they would need to either release that themselves or open source it so someone can try to build it. AFAIK this is not open sourced (the server code I mean). |
+1 for FreeBSD support. |
1 similar comment
+1 for FreeBSD support. |
+1, nice to have FreeBSD support. |
Concur on adding support for FreeBSD. I'm currently relegated to using Eclipse, and while it is sufficient, it's very heavy-handed compared to VSCode. |
+1 |
4 similar comments
+1 |
+1 |
+1 |
+1 |
+1, it would be great to have FreeBSD support. |
Learning Freebsd, would love this added |
I hope fleet can running on freebsd now. |
Really a pity that this is still not supported. So we can't upload via SFTP plugin over sftp but only over ftp and with this unencrypted connection I just don't have a secure feeling. |
+1. I use FreeBSD servers everywhere. |
+1 |
1 similar comment
+1 |
I tried again a few years later and not even the Remote-SSH plugin can target FreeBSD, which remains closed source. It's odd that the Azure team has gone out of their way to court FreeBSD users for their cloud, sponsoring FreeBSD conferences and such, but the tools folks at Microsoft seem to have their own priorities. |
there is ok, there is another bug on the main repo where all people want is a button to clear the problems pane and its been years. |
Summarising the discussion from above (not speaking for the maintainers of this project): There is no strong objection from the VS Code team to supporting FreeBSD but the way that the system is currently designed makes this very difficult due to external dependencies. Currently, VS Code does not provide plugins with an different interface between running things on the host and the remote system. Adding an abstraction layer to do that and porting existing plugins across would be a huge engineering effort. I'd imagine that you'd want to start by providing remote file access proxies and then gradually enlightening plugins to use explicit communication and that's a difficult problem (for example, should I run This means that the requirement for the remote extension to work on a given platform is the same as the requirement for VS Code to work on that platform. This brings us to the next set of problems: VS Code uses Electron. Electron will support any platform that their dependencies run on but they are mostly a wrapper around Chromium and Node.js. Node.js works fine on FreeBSD, Chromium does not. Chromium is a Google project and they support only platforms that Google uses internally or sells products on (Android, iOS, macOS, Windows, desktop Linux, and Fuchsia). To make this worse, the Chromium project has explicitly refused to take patches to support FreeBSD, even with external volunteers maintaining them and providing CI infrastructure, so there is no obvious path to supporting FreeBSD in Chromium. Neither the Electron team nor the VS Code team is willing to take on the effort of maintaining a fork of Chromium that supports FreeBSD. If you want VS Code to support FreeBSD then you should encourage Google to accept the FreeBSD patches for Chromium. Until they decide to, or an antitrust regulator forces them to, all downstream projects are blocked. This issue has the second-highest number of thumb-up reactions of any issue on this repo, so it's likely that it would receive some attention if it were unblocked upstream. |
David Chisnall, so you are saying the blocker here is google and chromium. Can you share the patches that need to go upstream? I have maintained over 40 FreeBSD ports in the last 20 years. If we need to pull in some chromium bits and patch then as a vscode dependency we can probably do that. It wouldn't be the first time. Sometimes short solutions are required to get the long term solution completed. Feel free to contact me directly. |
Look around files in .vscode-server folder on server, looks like there's no any file exists about chromium binary, only node and js files, base on this, looks like vscode-remote doesn't need Electron's features by itself, may be this is more of an architectural problem? |
Plugin have many hardcoded bash and check on Linux https://github.com/microsoft/vscode/search?q=bin%2Fbash |
So it seems that linuxulator is good enough to make remote ssh play with FreeBSD. I have working both remote code editing and terminal. One user reported that terminal doesn't work for him on 13.0 (The terminal process failed to launch: |
@mateuszkwiatkowski Linuxulator is not full compatible with vscode-remote-ssh, I have tried with Ubuntu 20.04 on FreeBSD 13.0, vscode-remote worked, but some error happened in logs, file monitor notify with inotify not work, so vscode can't detect file change in explorer, some socket options not adapted, process explorer report uv_init error, when close vscode, remote process keep high cpu usage in linuxulator long times, and other problems. |
@xpader I don't agreee that linuxulator setup is not easy - its documentation is great and after initial setup it just works. While I'm aware that inotify is not supported by default in linuxulator there's a way to get it working with libinotify-kqueue and linux-libbsd shims. The latter is currently broken on CURRENT but with some community effort it can be fixed and provide even better experience with vscode-remote-ssh. Having that said I'm currently using remote-ssh and it works great for me, vscodes notices file modifications even without inotify. |
For those of you who instead want to hack around instead of waiting, you may try code-server instead: https://blog.david-reid.com/vs-code/ |
can the instructions be made a little more clear? |
@BasixKOR |
Not a support issue for code-server. Ask anywhere else. |
Managed to make VSCodium open-remote-ssh extension work for FreeBSD host. Follow steps at openingnow/freebsd-vscode-reh The next task would be
|
I can confirm LSP (at least haskell-language-server) is working. I had some problems with terminal, complaining about missing libutil.so.1, fixed it by upgrading OS from p2 to p3. |
openbsd & freebsd cant work |
Unfortunately still no support - although it has already been ported: https://www.freshports.org/editors/vscode/ |
If you check all commentary above (including the sixty-something hidden comments), you might find that what's requested here is somewhat different from what's ported. A gentle hint, to other commenters: if your comment was (essentially) no more than a |
With VS Code 1.86, the support for CentOS 7 is no longer available and the |
@roblourens @chrmarti any plans to support this? +1 from my side |
Hello, +1 for this as FreeBSD is widely used. |
Can't connect to azure: unreachable or not Linux x86_64 (FreeBSD amd64 )
Since the Electron support is premature on FreeBSD, running vscode in my laptop and connect to my FreeBSD server seems to be a great solution. I'm looking forward to the support on FreeBSD platforms.
The text was updated successfully, but these errors were encountered: