-
Notifications
You must be signed in to change notification settings - Fork 822
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
systemctl doesn't work #1579
Comments
Starting dbus ( #994. |
Systemd isn't running and won't run without major changes tothe initialization process. Edit: @therealkenc lol, Systemd in Ubuntu is still trying to use kdbus? |
@fpqc Thanks. That makes sense. I found in another related issue that WSL has its own init, so upstart doesn't exist, neither. Even if |
Not sure. All of that legacy-init-transition-related stuff is being sorted out by the distros. Upstart used to map the "service" command to upstart, which managed the init scripts. Since the switch to systemd, Ubuntu has replaced upstart with a mix of "native unit files" (i.e. little .ini-looking files that instruct systemd how to launch daemons) and classic-style-init-init scripts, which are controlled through the systemd-sysvcompat module of systemd. For daemons of the second type, you can manually run the init.d scripts as before, not sure how they have aliases the old upstart commands. But otoh, for daemons controlled with native unit files, you will have to manually start the actual daemon executables by themselves or with your own custom 'init' scripts (depending on the daemon, this could be easy or could be hard). It seems like some of the basic building blocks for using systemd for init are being added into WSL. The team has quietly added things like the cgroups fs, and the NT kernel has apparently always supported namespaces, two key features used by systemd. Ben Hillis also mentioned in his interop video and blogpost that Microsoft's init process (which sets up quite a bit of the magic) could probably be moved out of pid 1 and into a non-init role in the future. I'll let you speculate about what that could mean. The devs here are very sphinx-like about future plans until they have been announced officially or at least until someone like Alex Ionescu has reverse engineered the surprise to the point where it is public knowledge. 🙃 |
Facing this problem too, but does it because of the windows itself blocking? Spent whole day to figure it how to auto run the nginx server, cause everytime i close the terminal, this process will turn off, it become useless.. |
This is frustrating, I was so confused why I couldn't get Ajenti installed and working. This really seems like something that should work, even if Bash needs to remain open. |
@JacobDB easier said than done, I think. They will at least need to stub out a cgroups implementation and convert the current /init to a service that gets launched by systemd. We actually have not heard a lot since CU released apart from the new mounting feature. |
You may want to try using Upstart to run and manage third-party services |
|
You might be able to try replacing |
Like @khanguslee says above, you can work around the issues with
|
I had to curl it down into my current directory and then sudo move it to the bin directory. I also didn't start with one to begin with. curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > ./systemctl
sudo mv systemctl /usr/bin/systemctl
chmod +x /usr/bin/systemctl |
i can't start the service as well,but can list the service |
how to start a service?pls tell me ,after start command it didn't reply |
It doesn't seem to work when I use lxssmanager to restart wsl. Unit services are not auto-loaded. Why? |
systemd is not actually running using this method (and can't run on WSL1, regardless). This method replaces the systemctl command with a script that reads the service unit files and follows the instructions inside to start/stop services. There is no overarching service manager daemon running in the background in this scenario. Therefore, auto-loading services can't happen, because there is nothing to auto-load them. Just run the normal start command - if you need to start a bunch of services at once, make a bash script with a bunch of start commands in it. |
I hope WSL 2 auto start linux, and auto start systemd , as a real linux Operating system. |
As a workaround you can use the distrod https://github.com/nullpo-head/wsl-distrod However the python script might works fine but it doesn't work for MySQL when I tried. |
Hi, is there any official information about this https://bugs.launchpad.net/ubuntu/+source/wsl-setup/+bug/1962556? I couldn't find how to activate experimental support of systemd on Ubuntu 22.04 which is now available for WSL 2. |
I'm also interested in learning about this. |
I have been using distroid from few months works like charm to install on WSL2:
or you can even do
not sure if the last one is even available with the systems in wsl by Microsoft but if you cant upgrade or want to use it asap.. this works perfectly. |
wsl -t Ubuntu can not refresh systemd PID , need restart systemd . You can do |
I followed the instructions from DigitalOcean to install the LAMP stack on WSL, but I found that I cannot use
systemctl
to control the server programs (including but not limited to Apache and Nginx).After installing Apache, I tried using
systemctl
to start Apache server but it did not work.PS.
systemctl list-units
also outputs the same error.Though I can still start it with
sudo service apache2 start
orsudo /etc/init.d/apache2 start
, I'm curious about ifsystemctl
will be supported in Ubuntu on Windows in the near future? Thanks.Version: Windows 10 Insider Preview Build 15002
The text was updated successfully, but these errors were encountered: