-
Notifications
You must be signed in to change notification settings - Fork 12
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
Ubuntu-18.04-gnome-spice boot file ubuntu.sh problem #3
Comments
Cannot get file status (stat) for "/root/.xauthority \r" : No file or directory is available |
file /root/.Xauthority does not exist |
I can't say for sure, but it sounds to me like you are trying to run the `ubuntu.sh" via sudo or similar. If you have successfully built the ubuntu-gnome:18.04 from the https://github.com/fadams/docker-gui/tree/master/9-virtual-desktops/ubuntu-18.04-gnome directory (and TB I'd try to get that working before trying the VGL or SPICE versions) then if you are in that directory you should just do
You shouldn't run any of the launch scripts in the book as sudo. If you need sudo for Docker because you aren't in the docker group still run the script without sudo - the point of the If you try to run the actual script as sudo you will mess up other permissions. The This question is making me all the more convinced that you really need to go back to basics as you are trying to run before you can walk. What I'd advise you to do is to start way back with the examples in https://github.com/fadams/docker-gui/tree/master/4-local-applications/simple-X11-applications once you have got them working (and understand why they are doing what they are doing) then you will be in a better position to understand some of the more complex examples. As I keep saying the book explains a lot of the reasoning behind a lot of the approaches taken in quite a bit of detail and many of the examples build upon what was learned in previous examples. In simple terms the containers bind-mount the host's X11 unix domain socket and create a .docker.Xauthority based upon the .Xauthority that ges placed in the user's home directory |
Hello, excuse me |
So to be clear:
in that directory build one of the Docker images - there are two Dockerfiles, one for stretch another for bullseye. When the image is built run
in that same directory If you are seeing something like
it suggests to me that you are trying to run things via sudo or as root - do not do that Also check that you have a .Xauthority file in your home directory - you should have one there created by your Display manager when your desktop gets launched. Please tell me that you are running these examples on an X11 desktop and not a headless server..... You are running an X11 desktop? If you are running on Wayland you might have more issues. The examples should run in XWayland but it has been a while since I've tried that. |
Yes, I am preparing to run an X11 on Docker. The system environment of the desktop program's underlying host is Centos7.0. At present, the error /root/
|
I think I know my mistake, I want to ask you when you execute your program directory level is the level of your project? |
From the above you are doing everything as root *that is a really really bad idea" I don't have any more time ATM I think you really need to go back to basics a bit. You say "At present, this user also performs relevant Docker operations through sudo in Docker environment" yes but that doesn't mean run the script as sudo. You need to log in as a non privileged user (i.e. as your normal user account not root) you need to clone the repo somewhare off your home directory as you so it will have something like yanbx:yanbx owner/group probably with a uid/gid something like 1000:1000 These questions really aren't issues with this repo they are really more issues with how you have set up your environment. |
Okay, I'll adjust it accordingly |
When was xserver-xspice-passwd created? |
OK, so I keep telling you to go back to basics. You shouldn't be asking this question until you've managed to get the basic X11 applications working and you've spent some time understanding how containers are connecting to your desktop environment's X Server. To answer that question it was created when you ran one of the xserver-xspice launch scripts - if you don't already have one saved then running those scripts will ask you to enter a password that you'd like the SPICE server to use to authenticate the SPICE connection. If you read the scripts there's a block with a comment that says "Create password if required" Also to be clear and as I said in a previous reply the way the SPICE password is created here is insecure and really only intended as a starting point and SPICE's authentication methods in general aren't especially strong, but that's beyond the scope of this repo. |
Hello, I have to bother you for now. According to you, I'm currently executing the 9-1 Xephyr Chapter 9 use cases under this example |
Running xephyr.sh will launch a nested, resizeable, X Server that |
I didn't quite understand this sentence in the book |
Running the Xephyr example will only run Xephyr. Xephyr is simply a nested X Server. It sounds like you are expecting a desktop to appear? What you quoted:
Is exactly what should happen. Are you seeing a window appear that is simply a black window that appears to do nothing much else? If so that's exactly what should happen as that example is, as I say just the Xephyr nested X Server. You can launch X11 applications to it by setting their DISPLAY to :1 but it's really just an illustration. If you aren't seeing a black window then you haven't sorted the issues out from the other day with respect to your desktop environment. Did you get the simple X11 apps like Xlogo running? The virtual desktop examples use Xephyr, but they launch their own Xephyr as part of their init process. How they work is that they are running systemd and systemd starts the Display Manager launching an X Server, which in their case is Xephyr. I do keep repeating that I really think that you should start from the beginning and move on one you understand what is actually happening at each stage. You seem to be jumping right ahead into things without necessarily understanding what they are trying to achieve. In all honesty I do believe that starting closer to the beginning, getting that working, understanding what is actually going on then moving on will be a far better strategy for understanding this. |
I've run the XLogo example and I've done it through display and before when the example was set up when I executed the sh script it would display itself or it would display itself through display= |
So ask how to start the example of your chapter?For example, in the next two chapters, I ran the sh file and just mirrored it up but nothing happened.I want to see the final desktop effect how to start?Can you take a look at it? |
I have a problem with the chapter 6 Xlog instance, but I am running into a problem in Firefox |
Hello, today I have run a simple graphics program into a complex desktop program to understand the details. Now I want to learn the desktop. The problem I have encountered is the one I mentioned above, the successful execution of mirror bulid script sh does not report an error, but I do not know where to look at this desktop.Can you explain it for me?I ran Xephyr debian-bullseye-lxde ubuntu-18.04-gnome, |
”NESTED_DISPLAY=: 10 . /xephyr. sh “ I want to make sure that this is not the case. I want to re-understand the article by dispaly or SSH remote xhost based on the previous example of X11 boot. |
The next few use cases in Chapter 9 are started in the same way, right? |
The xserver - xspice, xserver xspice - HTML 5 this two instances running result shows that a firefox not just a matter of visit http://ip:port connection, mirror started successfully, |
I'm afraid that you are overwhelming me with posts there are too many questions about too many different aspects to understand very much at all. So say "I've run the XLogo example and I've done it through display and before when the example was set up when I executed the sh script it would display itself or it would display itself through display= I'm struggling to understand by this - I don't really understand what you mean by "I've done it through display" So let's assume that you have cloned the repo *as user yanbx" into /home/yanbx so you have a directory path that begins Having done that now cd to In there you should see a Dockerfile a Dockerfile-bullseye and several scripts. If you build either of the Dockerfiles e.g.
you should end up with an image called x11-apps If you then do:
You should see the X Logo appear. I have literally done just that (obviously using my own path to the docker-gui repo) and have a nice X Logo appearing on my local desktop. You say "However, after executing the Xephyr sh in your chapter, no error was reported, and the interface was not automatically displayed. SH was executed in display mode, and still no error was reported and no response was made." again I have no clue what you mean by "display mode" So do cd to
That will build the xephyr image from an ubuntu:18.04 base image. If I then do:
In that directory I get a black window appear saying "Xephyr on :1.0 (ctrl+shift grabs mouse and keyboard)" The Xephyr window doesn't do anything especially interesting in of itself. The point of having that section in the book is actually to illustrate the importance of having a Window Manager. If you are seeing a boring black window, what it is is a nested X server listening on DISPLAY :1 To be clear that Xephyr doesn't launch a desktop in of itself it is simply an example of a nested X Server. If you are not seeing a black window appear then TBH I have no clue what your issue is. You are logging on to a local workstation with its own display and graphics card right? Re "I have a problem with the chapter 6 Xlog instance, but I am running into a problem in Firefox" I don't know what you mean at all here. Xlog? I have no idea about ""Your profiles can not be loading it may be missing or inacessable" Do you need to set up the Firefox configuration?" To be *absolutely clear" pretty much all of the examples in that section use the containerised firefox from https://github.com/fadams/docker-gui/tree/master/5-more-complex-applications/browsers/firefox if you haven't built that image nothing will work as expected and to be honest I'd strongly recommend making sure that you can build that image and run it locally. In all honesty I still think you seem to be jumping ahead Re "The xserver - xspice, xserver xspice - HTML 5 this two instances running result shows that a firefox not just a matter of visit http://ip:port connection, mirror started successfully," I'm sorry I'm not at all sure what that is saying. I don't really know what you mean by "two instances running" If that has run correctly - do you mean xserver-xspice or one of the xserver-xspice-eyeos ones? When that launches it first runs an X Server that is also a SPICE server and it then launches the containerised Firefox. If you launch that on your local machine all you should need to do is to launch another browser and navigate to localhost:5800 if you are successful then you should see Firefox running in whatever browser you used to navigate to localhost:5800 I definitely suspect something odd with your desktop,or that you are not in fact sitting in front of a local workstation with its own graphics card. You mention "I ran Xephyr debian-bullseye-lxde ubuntu-18.04-gnome" why? Nowhere in the book does it say anything about doing that. It's pretty clear that the Xephyr example is simply illustrating why it's important to have a Display Manager. I really strongly advise you to read *from the beginning" and work your way through the examples somewhat in order. Honestly, you really will learn an awful lot more and understand more about what you are doing. I don't think jumping about all over the place is helping anyone. However let's do this: If you do
After a while hopefully you should successfully end up with an image called debian-lxde:bullseye Once that image is built all you should need to do is (from that directory)
It will ask you to enter a password and a confirmation, then after a short period it will launch a Display Manager window where you enter the password you have just created. After that it will launch the Desktop. As I said in a previous response those images are quite sophisticated. When they launch they run systemd in the container and systemd will launch the Display Manager which causes the X Server to be launched - in this case that X Server is Xephyr but the Xephyr in this case is part of the debian-lxde:bullseye image. I've literally done just what I said above on my machine and have had a containerised Debian desktop appear with no problems whatsoever, so there is definitely something strange about your environment if you don't see a desktop appear. I say again if you are not sitting at a local workstation with a local graphics card looking at a local display you are going to be having a bad day. To be clear the point of many of the examples is to be able to remote things, but it's a lot easier to understand the process if you start of locally. If you are sitting at a local workstation with a local graphics card looking at a local display then I'm struggling to understand your environment. You definitely need to be logged in as a normal (non root) user to a normal graphical desktop for these examples to make much sense. Do you have a |
Again you are bombarding me with too much information to try and make sense of. The fundamental point is this "At present, I am using Xshell remote tool to remote a Linux environment computer on my own computer, and all instances are carried out in the remote Linux environment." So stop right there. That is the first time you mentioned anything about running in that type of remote environment. That is exactly why I have said several times on this thread that you really, really need to go right back to basics and work through the examples getting the earlier examples working before moving on. "Do you mean that I have to operate locally" not necessarily, but the work in this repo generally makes an assumption that you are sitting in front of a local machine. That not being the case will certainly have quite a profound impact and makes it a lot harder to figure out what is going on. BTW I can't see any of the images you've tried to upload You say "Secondly, on the issue of the firefox, my current situation is firefox mirror, on the case and run sh scripts I think no problem, is to use ordinary users after running the script Pop-up firefox, firefox popup tooltip, prompt error is I the problem yesterday, appear this problem, I will try after the xserver - xspice up" I don't really understand what you are trying to say here but "I will try after the xserver - xspice up" but have you not been listening. I have said several times that many of the remote examples from chapter 6 and 8 depend on the Firefox image from chapter 5. If you haven't built that image then they aren't going to work. The other day you said "but I am running into a problem in Firefox"Your profiles can not be loading it may be missing or inacessable"". I can't say for sure, but I'm fairly sure that is down to a permission error. You showed in an earlier post that you had previously been running everything as root. That is a really bad idea. Hopefully now you have stopped doing that, but when you originally cloned the repo did you do it as root? If you did and did not subsequently delete that and clone it again as user yanbx then the directories in the repo will still likely be owned by root. Now most of the examples will actually create a "home" directory, so if you cd to
at the start of the script do. If the repo was cloned as root and you are now running as yanbx then you won't have write permissions in that directory. So if you still have lots of things owned by root hanging around you need to sort that out before you do much else. I'm not at all familiar with Xshell. Is your local machine a Windows machine? You said the other day you were running CentOS. So are you accessing the remote CentOS machine purely via ssh and a terminal or is Xshell running up a complete Gnome Desktop for your CentOS and forwarding that (I'm specifically talking about your own environment) 'cause I'm not clear about how your X Server is set up. also what do you get if you run
|
So let me just summarize what I've done now, so that you can see that I'm in a difficult situation right now. |
Sorry, I just got your reply, could you please answer me according to my new question?Trouble because the morning's problem has been partially solved |
1 similar comment
Please take a closer look at my screenshot |
I specifically asked you to stop bombarding me with responses you've just posted six separate messages. If you keep doing that I'm going to stop replying. I also said that I can't see any of the images you've tried to upload so asking me "Please take a closer look at my screenshot" is pointless as all I see is "Uploading image.png" I am not actually clear what you have actually tried and what you have skipped as you seem desperate to jump into xserver - xspice - eyeos. Wen you ran the x11-apps example did you run
or did you need to do anything else to get it working? Have you tried to run things like the gnome-calculator example? Have you successfully got that working? Have you tried to get any of the examples in chapter 5 working? Have you actually got the Firefox example running? You say "First of all, the first xserver - xspice - eyeos, xserver xspice - HTML 5 xserver - xspice tells the story of the three case spice protocol I run up The result is the pop-up firefox but no content Fire fox according to the home page is a container words didn't see what results related, the trouble to explain" I'm afraid that I don't understand what you are saying here. I really don't understand what you mean by "he story of the three case spice protocol I run up". You say "The result is the pop-up firefox but no content" so let me try to understand that. Are you saying that when you run that it basically starts up OK and then when you point your browser to In both of those cases it's likely to be a network issue. Are you trying all of this from within your CentOS desktop or are you trying to connect to the SPICE/webserver from a browser on your local Windows machine. If the latter then I'd suggest first try to connect from a browser hosted on your CentOS desktop. When xserver-xspice-eyeos runs it will be running on your CentOS server bound to its local IP and exposing port 5800 and 5900. Now depending on what the local network looks like for that CentOS machine you should be able to to see the server from within the 192.168.. network but it should not be visible on any externally routable IP, believe me you really do not want that - as I said previously it is simply using Websockify as a simple HTTP web server and the SPICE password mechanism is fairly insecure too. If you want to expose it to a browser on your local windows machine two options are 1. set up an SSH tunnel 2. Run a "proper" and properly secured Web server on the remote (your CentOS) host and use that to proxy to the less secure SPICE HTTP server. But to be clear if you can access the X Spice server from a browser that is running on the private network of the host running the X Spice server then that is where the scope of the book stops and I'm not about to spend time explaining how to set up an SSH tunnel and definitely not how to secure a Web server. The content from Chapter 6 on X11 forwarding should help get you started setting up an SSH tunnel, though that is tunnelling X11 not HTTP, but the principal is essentially the same. |
I am sorry. Maybe I am anxious to solve the problem and want you to understand my problem, so I sent many records. I will not do this in the future. |
On "my goal is to want to use your last ubuntu 18.04 - gnome - spice example" so can I check what you have so far then, you say "at present this example of mirror has been build success" so by that am I correct in my understanding that you have successfully built the image That is my interpretation of what you are saying there, but it would be good to confirm. You say
What you see appearing is a Display Manager and if you enter your password into the Display Manager's "password" box then you get a Gnome Desktop appearing. Is all of that correct? If that is correct I think that the issue then might be that the Display Manager doesn't play especially well with multiple logins. As I say if you have been successful enough to get the Display Manager appear then do not log on just yet. Instead try connecting via the SPICE client or browser (and as I say before I mean a browser or SPICE client from your CentOS Desktop to rule out network issues). If you connect from a browser on port 5800 you should first see a simple window that says flexVDI on the top left. If you see that you have successfully connected to the SPICE HTML5 client, if not then I'm still not sure what's going on. But if you do see the flexVDI window if you then enter the SPICE password you should then see a Display Manager appear in a browser. If you see that then you are winning and you should be able to use that to log on to the Gnome Desktop. |
Hello, reply to you under you confirm the problem, after I performed locally at present, I have seen the Gnome desktop By user name and password has already entered into the desktop, the browser flexDI also saw you said that kind of simple interface, I try to enter a password click on the browser enter, below is still a black screen, did not show the Gnome desktop login, and on other machines I use spice client to connect, has been in the links, in the long run will be prompted to link is not on the graphic display.Could you please analyze where you see the problem, is it the display manager you said? |
So you are saying when you launch
You are seeing the Display Manager (in other words the graphical login window for the Desktop) and when you enter you password the Gnome Desktop appears. Correct? So the issue is purely with the SPICE login So if you already have the containerised Gnome Desktop running having started it from your CentOS desktop then you are not going to be able to log into that via SPICE (or HTML5) that's what I meant by "the Display Manager doesn't play especially well with multiple logins" so if you are already seeing that Gnome Desktop power it down as in use the normal Gnome method to quite out of the (containerised) desktop. When you do that make sure the container has stopped. Now run
again but do not then enter your password and login to the Desktop By " the browser flexDI also saw you said that kind of simple interface" so I think you are saying here that you are seeing the flexVDI window? If you are - and have not already logged in to the Desktop via the Display Manager that initially popped up - then when you enter the SPICE password into the flexVDI password box then you should see the Display Manager (login window) appear in your browser - if you do then you should be able to then log in to the desktop. If you already have the desktop running because you logged into it from the initial Display Manager then you won't be able to log in via SPICE. |
I don't quite understand what you mean. I don't know if I understand it correctly. Do you mean that the desktop pops up locally at present |
You say that you have got that example working without the SPICE part correct?
You should get a window pop up after a few seconds that is basically a login window. Are you seeing that? If you are seeing that then normally you'd enter the password you created for the containerised desktop into that login window and once you do you should see the containerised Gnome Desktop. What I am trying to say is that after the Ubuntu orange "login window" appears do not then log on. Instead try the SPICE connection. |
You mean, after execution, I input the Spice username and password Settings, and the desktop pops up to display the login screen, I don't want to login at this time, right? |
I mean:
Step 2. wait until the login window appears - please confirm that you are seeing the orange Ubuntu login window If you are not seeing the orange Ubuntu login window I mention at step 2 then I'm not clear how you were previously able to log in directly to the desktop. |
OK, I understand your steps, but I want to make sure that I am using the Spice client of the remote-viewer. It is directly input the remote link address, but there is no place to input the user name and password.This is a little bit questionable.And the browser interface, there is only a place to enter a password, there is no user name, can you explain this?I checked the use of remote-viewer. The first step was to enter the remote link and click the link. At this time, he was still in the connection and could not get the user name and password.Do I understand you correctly? |
By remote viewer you mean the Remote Viewer SPICE client application on your CentOS desktop right? So firstly you haven't confirmed that you are indeed seeing the orange Ubuntu login screen please confirm that you are!!!! If you are seeing this then when you start up Remote Viewer the Connection Address should look something like:
though you should be able to use
If you are running it on the same host where your container is running (and I'd recommend starting out by doing that to rule out any network related issues) When you run that Remote Viewer should pop up a window that says "Authentication is required for the SPICE connection to..." and there should be a password entry box. |
You say "And the browser interface, there is only a place to enter a password, there is no user name, can you explain this?" Are you talking about the flexVDI browser interface? or the display manager (the orange login) interface. For the case of the flexVDI the password there is the SPICE password. For the Display Manager you should actually see the username above the password entry box. You don't need to enter a username to log on to the desktop because the Display Manager is configured in a way that if there is only a single user it doesn't ask for the user name. You can actually configure LightDM to always ask for a username too but you'd need to modify the Dockerfile to change that. |
You may understand wrong, because you remind me in the morning, don't use xshell remote tools to perform sh script, so I go directly to deploy application it server directly to the server on the execution of sh scripts see pop-up orange desktop, just I didn't press you said don't log in, I saw the desktop after I log in. I just want to confirm with you about the user name and password problem, because when I used remote-view to connect to the deployed server, I kept reminding you that the user name and password had not been entered in the connection.I just want to confirm whether my problem is related to my logging on the orange desktop.Please confirm the cause of my problem, and I will follow your steps to verify it again tomorrow I have seen your reply that the browser will prompt me to input the user name and password, but I did not have this prompt. It is directly the interface IP host password you mentioned, and the three filling boxes are shown in black below the page |
To be honest I'm having a hard time following your logic. And you are not answering anything I'm asking for. I have asked you several times to confirm whether you are seeing the orange Ubuntu login window after running
And you have not replied. Are you or are you not seeing the login screen. I think you are but you need to be more explicit and answer these things. You say " you said don't log in, I saw the desktop after I log in" if you have reached a point where you are actually seeing the full Gnome Desktop then I have to assume that you have seen the login screen and entered the desktop's password. But as I keep on saying if you have logged in to the Gnome Desktop then at that point you will not be able to connect via SPICE. You have to let the orange login window appear but as I keep saying do not log in to it Once that window appears then try Remote Viewer or the HTML client. But are they being run on the same host as the Ubuntu container. You have to try connecting from there first to try and rule out any network questions. I'm afraid I have other things to do now so I won't be responding for a while. |
Maybe the translation is not good, sorry, I replied in the above, Hello, I'm sorry. Maybe there is something wrong with my translation software. I would like to add that I have seen the complete GONE desktop, and I basically understand what you mean It's okay. You go first. thank you |
OK I really have to go in a minute but if you" see the orange desktop on my running application server" then on the same server where you launched then try running a browser and navigating to localhost:5800 or whatever the Docker IP is. By "`see the orange desktop on my running application server" do you mean the ubuntu login window or the full ubuntu desktop. If you mean the full desktop it means you've already logged in. I keep saying you need to do a SPICE connection once the lofin window has appeared bu before you try to log in to it. You should see the flexVDI, initially with a black screen below. The flexVDI has boxes that say Host:, Port: and Password. In the Password box you need to enter the SPICE password (you should have set that up when you first ran the If you see that then log in with the Desktop password. Those are precisely the steps that I do from my workstation. I really do have to go now. |
If you are busy, you busy first, your own business is important After looking at your steps, If you are deploying this desktop environment, do you have a log file for the SPICE protocol that we can use to find errors ourselves |
I'm honestly at a loss to understand what is happening in your environment. On the positive side if you definitely have built the One thing you could maybe try..... So there are actually two different passwords that get created. in your
If you delete those then run
again, then be very careful when following the next instructions. It will first ask
That is the password for the containerised Ubuntu desktop once you have entered that and confirmed it asks
There you can largely just hit enter except for answering y to the last question. After all that it will then say
That is asking you to enter the SPICE password that you want to use later to log in I mention trying that step again in case you ended up not correctly setting the SPICE password. What I have noticed is that if I enter an incorrect SPICE password the flexVDI doesn't give any error message it just stays blank. What actually happens if you use the Remote Viewer client? In my case if I use
as Connection Address and click Connect I get an "Authentication required" popup asking for a password and if I enter my SPICE password I see the orange Ubuntu login window and if I type an incorrect SPICE password I see a popup "Unable to authenticate" - which I'd expect to see. If you do not see an "Authentication required" popup from Remote Viewer what exactly do you see? If I enter the wrong address I just see "Connecting to server" then the window disappears and is replaced by "Unable to connect to the graphic server spice://...." but to be clear that only happens if I enter the incorrect address and if I enter the correct address/port of my SPICE sever it asks for my SPICE password and when I enter it I then get the orange ubuntu login window. So in short start from scratch to make sure that you have definitely entered the desktop and SPICE passwords that you want to use and from the Remote Viewer Spice client if you are not seeing the password pop up then carefully check the address - and make sure that you use port 5900 from Remote Viewer and 5800 from the browser client. I'm afraid that I have no more ideas at present. |
Hello, I have seen your reply. I probably did the same with the steps. Today I will try it again. Step 2. Step 3. Connect via SPICE client or browser. If you want to use SPICE then do not at this point log in using the login window that first appeared Step 4. From your SPICE client or the Browser flexVDI enter the SPICE password Step 5. You should then see a new login window, say in your browse ------ There is a problem with this step. After entering the password, there is no login window under the browser. Using the remote client, you just enter the connection, but it always prompts you to know the error in the connection.I also often look at the browser debugging interface (F12), found that there is a script error, I do not know you have it? step 6 I wonder if the problem with Step3 is causing it? |
Thank you very much indeed. I have succeeded in following your steps and have seen the results I want. |
So to be clear. From your reply above you appear to be saying that when you followed the steps precisely you were indeed able to successfully connect via one of the SPICE clients - please confirm that is correct and thus you have achieved the main goal. Re "So why do we fail to connect remotely because I log in to the orange interface?". It is quite complicated to explain, especially if you are not really quite familiar with how Linux inits into a Graphical Desktop. I have previously tried to summarise what is going on but to repeat that: If you look at the ubuntu.sh script you should see that it runs /sbin/init this is quite profound because these containers are basically doing exactly what a non-containerised Desktop would do once the kernel has booted. Running /sbin/init causes systemd to run in the container, which starts all of the regular Linux services and eventually inits to the graphical Desktop. The systemd service that does this starts a Display Manager - in this case LightDM and that in turn will launch an X Server and a greeter process, in this case slick-greeter. In a regular environment this would launch the workstation's "real" X Server, but I have to configure the Display Manager to use a different X Server (in this case Xephyr) instead of Xorg. If you look at the There are many subtleties. It's possible to launch X Servers in many ways, but one of the reasons I went with the approach of following the normal graphical startup as closely as possible is because in desktop environments there is generally a reliance on a number of services like systemd, D-bus, logind, polkit without those whilst you might see a desktop appear it might be broken in a number of ways like no PulseAudio daemon or with no polkit there would be no privilege elevation mechanism so things like being able to "power down" the desktop from the graphical environment wouldn't work. As I said previously there is a lot going on in those containers. I've tried to explain in the book but it gets quite complicated. With systemd there is the concept of "seats" and again initing in the way I have "tricks" systemd into thinking there is a valid seat0 which in turn allows logind and polkitd to start. It gets even more complicated when adding SPICE into the mix. The approach I took was to take advantage of LightDM's built-in mechanism to launch VNC servers. If you look at the bottom of So that's the background of some of the reasons I wanted to launch the Display Manager (login window). The things is though, and why you observed the issue you saw, is that Display Managers only allow a single login - if you think about it remember it's the thing you normally see when you log in at your workstation. For the sort of use case that you actually want to employ. You are actually probably better off building the Dockerfile-no-xephyr image in the ubuntu-18.04-gnome-spice. I was reluctant to mention this previously but the way that works is that rather than the Display Manager launching Xephyr instead of Xorg then using some "magic" to pretend the SPICE server is a VNC server instead when we init to the graphical startup the Display Manager actually launches Xspice directly. The reason I didn't mention this before is that at that point nothing is visible, but you can then log in via the SPICE/HTML5. I wanted to be clear that you were actually able to log in via SPICE before I mentioned it because it would have been impossible for me to work out what was going on in your environment without having got to the point of seeing the login screen. On "Does your approach support a password-less approach?" well yes it is possible to configure SPICE to use different authentication approaches including no authentication. To do that though you would need read that section in the book in more detail, understand how I'm not going to do that for you, as I said previously the point of this repo is to be educational and give people enough knowledge to move forward on their own it is not about providing fully production-ready solutions. That said if you look at the bottom of the Dockerfile you should see the Xspice startup which looks like
You'd need to read the Xspice documentation but it might be simply a case of removing the Re "Is it possible to remove the VDI input box on the browser?" again I'm not going to do that for you. It is possible though, yes. Once you have worked out how to get SPICE to connect without a password I think it'd be possible to "hide" that part of the flexVDI UI. You'd really need to spend a bit of time working out how it works though. In |
I've just looked at http://manpages.org/xspice and the However I've just done a quick experiment after rebuilding the image. If you connect with Remote Viewer it will launch straight to the Ubuntu Display Manager without asking for a SPICE password, however the HTML5 flexVDI actually still requires something in the entry box. |
OK I'm feeling generous today. I've just done a bit of "hacking around" with the The following has modified the Xspice to use A strong caveat to this is that it is just a quick hack and there are more elegant ways to achieve what you want, but you'd need to look at the Web App in more detail. The main Javascript for this part is in /usr/local/bin/spice-web-client/run.js. One of the things I do is add Compare what I have below with the original and it should hopefully be fairly obvious what I've done. I've already spent far too long on this thread.
|
Thank you very much for your reply, and thank you for replying to my question today. I am also a novice in the field of virtualization and just transferred to this technical field. |
This is a link to the main SPICE documentation https://www.spice-space.org/documentation.html |
Sorry, I understand the purpose and operation method of your example after reading the document at present, or do I not know how to solve the problem
The ubuntu.sh startup file received an error during operation
Sudo: Cannot execute./ubuntu.sh: There is no file or directory, could you please check it for me?
The text was updated successfully, but these errors were encountered: