Skip to content
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

feature request - graphical chroot in a tab #147

Closed
tedm opened this issue May 14, 2013 · 104 comments
Closed

feature request - graphical chroot in a tab #147

tedm opened this issue May 14, 2013 · 104 comments

Comments

@tedm
Copy link
Contributor

tedm commented May 14, 2013

Can we get crouton so instead of hot-keying, it is just in a tab in chrome? Then we get our linux and chroot a bit more seamless, without hot-keying back and forth.

Seems like one would just need to modify the chrubuntu so it fits in a chrome window instead of the whole physical display.

@dnschneid
Copy link
Owner

I've been experimenting with a vnc target that can be used instead of X11 and Xephyr, allowing you to access the chroot's desktop through an offline VNC client. It sort of works, but I need to figure out how to launch a new Chromium tab from the shell. If you can figure that out, I can put the final pieces together and put it up for testing.

@tedm
Copy link
Contributor Author

tedm commented May 15, 2013

When I run the VNC client you linked to, it says it doesn't support ARM yet. Also, what VNC server are you running in the chroot? I installed vino, but I think it needs gnome.

To run a command from the shell, write the extension app called "tab_chroot" then

write a gcc program like this that can execute from the command line:

#include <stdio.h>

int main(void)
{
int ret = system("~/Downloads/tab_chroot");

return(0);
}

I don't know how to write tab extensions yet, but I think drinkcat does ;)

Did you see the message in the unmount chroot issues thread that the two fingers on touchpad on ARM ummounts, and exits the sigkill loop?

@dnschneid
Copy link
Owner

Right, that's probably gated on PNaCl. I'm not aware of any other offline VNC apps though.

The vncserver is vnc4server, which creates a VNC server with its own X11 server included, independent from any desktop. You have to use a vnc viewer to see this desktop.

I'm afraid that C code is completely irrelevant.

If you have a comment on the unmount chroot issue, please post your comment in that issue.

@tedm
Copy link
Contributor Author

tedm commented May 15, 2013

I was thinking extension / icon, but for launching a new tab in a an open chrome window, this works for me:

$google-chrome http://localhost/test/php (or http://127.0.0.1/test.php)

@dnschneid
Copy link
Owner

The google-chrome wrapper script only exists on standalone Chrome. Running /opt/google/chrome/chrome in Chromium OS starts a new Aura window, which is bad news bears. I wish it were that simple...

@appsforartists
Copy link

Does everything else in the vnc target work? Could be worth sharing as a beta and tell people to use a VNC extension to open 0.0.0.0 manually until that last bit is figured out.

@dnschneid
Copy link
Owner

I can format it into a target and add a branch; it's currently just a proof-of-concept hack. A couple things that need to be done before it's releasable:

  1. The VNC app needs to be automatically installed (or at least the Chrome store page should be opened if it's not installed already).
  2. The VNC app needs to be auto-launchable. This isn't any harder than 1., so if that can be done, this can certainly be done.
  3. option for enter-chroot to pass the original DISPLAY and XAUTHORITY to chroot commands #126 needs to be implemented so that this mode can be integrated in a sane way (i.e. selecting between three possible X server backends).

@sparkus71
Copy link

just started playing with this looking at how i can get a few full screen games added to my daughter's chromebook. going direct from shell and running full screen without needing to start up a separate xserver works a treat--it's just a bit manual at the moment. having the hooks to allow people to create their own private extensions which effectively scripts all the steps from enter-chroot to launching the desired application would be a really powerful enhancement to a vanilla chromebook.

@dnschneid
Copy link
Owner

Sorry for the (massive) delay. I've added a vnc branch, and you can grab the latest version of that branch here. It's extremely rough right now, but it's something to play with if you want it. Specify -t vnc before anything else (i.e, -t vnc,xfce). Then use startxfce4 or whatever as normal; it currently just prints out the display number and a link you can copy-paste into the address field if you use this vnc viewer. I do not know of any other VNC viewer that runs offline. Unfortunately it requires NaCl, so you'll have to use a different extension (one without offline support and with the privacy/performance implications of using a hosted VNC client) on Samsung's ARM Chromebook.

@tedm
Copy link
Contributor Author

tedm commented Jun 13, 2013

tried installing crouton-vnc but got this error:

Installing target vnc...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package vnc4server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'vnc4server' has no installation candidate
Unmounting /usr/local/chroots/precise...
chronos@localhost / $

was going to try the html5 novnc, as the linked one above doesn't support ARM.

@dnschneid
Copy link
Owner

Argh. Looks like xtightvncserver is available on both platforms though. Try editing the /prepare.sh to install xtightvncserver instead.

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

I used apt-get in my existing xfce precise shell to install xtightvncviewer (with fonts, etc.), and the apt-get instlall xtightserver and have the install options below:

I restarted and ran /usr/bin/vncserver

which said my desktop was localhost:2

and set a password.

I hot-keyed to chromeos, and ran novnc, entering above info, but got timeouts. Does the other vncserver use port 8080 ?

Suggested packages:
tightvnc-java
The following NEW packages will be installed:
tightvncserver
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 692 kB of archives.
After this operation, 1,140 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports/ precise/universe tightvncserver armhf 1.3.9-6.2ubuntu2 [692 kB]
Fetched 692 kB in 2s (248 kB/s)
Selecting previously unselected package tightvncserver.
(Reading database ... 104041 files and directories currently installed.)
Unpacking tightvncserver (from .../tightvncserver_1.3.9-6.2ubuntu2_armhf.deb) ...
Processing triggers for man-db ...
Setting up tightvncserver (1.3.9-6.2ubuntu2) ...
update-alternatives: using /usr/bin/tightvncserver to provide /usr/bin/vncserver (vncserver) in auto mode.
update-alternatives: using /usr/bin/Xtightvnc to provide /usr/bin/Xvnc (Xvnc) in auto mode.
update-alternatives: using /usr/bin/tightvncpasswd to provide /usr/bin/vncpasswd (vncpasswd) in auto mode.
root@localhost:/home/ted# ^C

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

upon running /usr/bin/vncserver &

I get the output below.

netstat -a shows that *:5902 and *:x11-2 might be related ports to xtightvnc server, a quick search shows #125 got pretty close with a windowed only vnc connection?

root@localhost:/home/ted# ps ax | grep vnc
14403 pts/5 S+ 0:00 grep --color=auto vnc
root@localhost:/home/ted# /usr/bin/vncserver &
[1] 14550
root@localhost:/home/ted#
Warning: localhost:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server localhost:1

New 'X' desktop is localhost:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost:2.log

using netc

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

looks like port is 5902:

root@localhost:/# ps ax | grep vnc
14558 pts/5 S 0:00 Xtightvnc :2 -desktop X -auth /root/.Xauthority -geometry 1024x768 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -rfbport 5902 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb
14567 pts/5 S 0:00 /bin/sh /root/.vnc/xstartup
29632 pts/5 S+ 0:00 grep --color=auto vnc
root@localhost:/#

log file shows it got a connection from client 127.0.0.1 but not a valid RFB client ?

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

tightvnc server is running fine in the chroot, as I'm now on another computer running xtightvncviewer, and have the chroot up in a window after entering ip:5902 and password. My default wallpaper is gone, and default xfce is here, so I'm wondering if it picked up my raring chroot?

below is shell output from non chromebook, successfully connecting to chroot vncserver (client is a dell with mint quantal xfce):

ted14 ted # /usr/bin/vncviewer
Connected to RFB server, using protocol version 3.8
Enabling TightVNC protocol extensions
Performing standard VNC authentication
Authentication successful
Desktop name "root's X desktop (localhost:2)"
VNC server default format:
32 bits per pixel.
Least significant byte first in each pixel.
True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Warning: Cannot convert string "--helvetica-bold-r---16-------" to type FontStruct
Using default colormap which is TrueColor. Pixel format:
32 bits per pixel.
Least significant byte first in each pixel.
True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using shared memory PutImage
^CCleanupSignalHandler called
ShmCleanup called
ted14 ted # ^C

@dnschneid
Copy link
Owner

Why not just change the generated /prepare.sh script to use the other package like I suggested? You're reinventing the wheel...

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

I will do that now, and test it.

But doing this will only provide a working vnc server in the chroot on the ARM, as even on my networked PC with chroot in vnc window, I can't copy from chroot and paste into my host OS, so the copy/paste to chromeOS side still needs a chromeos localhost vnc client (at least on the ARM).

But the vnc server working in the chroot is exciting!

p6133786

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

I need help here. I have 2 prepare.sh files, one in:

/usr/local/chroots/precise/prepare.sh

and one in:

/mnt/stateful partition/dev_image/chroots/precise/prepare.sh

backing them up, and chmod 700 (they were 500), to edit the vnc4server to xtightserver, then saving, then running:

sudo sh -e ~/Downloads/crouton-vnc -t vnc,xfce -u

both generated the "Package vnc4server is not available...E: Package 'vnc4server' has no installation candidate' messages.

So I need to edit file(s) besides prepare.sh, right?

I opened up crouton-vnc in vi, but cannot find vnc4server referenced there either.

What am I missing here?

@dnschneid
Copy link
Owner

Those are the same file; the partition has two mount points.

Running crouton-vnc again overwrites prepare.sh. Edit the prepare.sh and then just enter-chroot; crouton will ask if you want to run the prepare.sh (say yes).

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

OK, this works. I have removed my vncserver, edited prepare.sh using tightvncserver, and entered the chroot, answering yes to continue completing the install. The tightvncserver was retrieved and installed properly. (note that the package name is tightvncserver, which is unpackages to /usr/bin/vncserver and alternate ways of starting the vncserver.

The preferred way is probably ~/.vnc/xstartup although files like vncserver are placed in /usr/bin

~/.vnc is also the directory for log files, where you can see which port is used (default appears to be port 5902), and which window your vnc is (default localhost:2)

Optionally, if you want to test your vnc server immediately, you can from apt-get install xtightvncviewer and immediately view a vnc session of your current chroot. You will be asked for your ip (enter ip:port), and optionally a password if you set one.

You can also set a view only password.

You should be able to startup the vnc server in /etc/rc.local, just as you would sshd, and other servers.

Note that your vnc session may not look exactly like your local session as it may drop your wallpaper, and revert to the defaults, at least with my xfce, but it is the same underlying chroot. Below is an image of the VNC window, on top of the customized chroot:

tightvnc

Let me know where to upload the proper prepare.sh with chmod 500 settings. It is the one generated by crouton-vnc but replaces the vnc4server with tightvncserver package.

If this is the best way we can implement a vnc server in the chroot, I will write it up in the wiki. I did not encounter bug #125 where a full-screen VNC window doesn't function, because the default VNC window size from this package is 1024 or so, which is smaller than my 1376 and 1440 screens, so it was not capable of going to full-screen on those systems.

@dnschneid
Copy link
Owner

None of that, actually. Once you have the VNC target installed, just use startxfce4 as normal. It should launch Xvnc instead of X11.

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

You are right. I just quit my chroot, and entered again, and went straight to /usr/bin/vncviewer and the server is running.

I then checked the process below. How is it auto-starting? It put nothing in /etc/rc.local? And is this a safe thing to auto-start a vnc server that opens a tcp port?

root@localhost:/usr/bin# ps ax | grep vnc
13328 pts/1 S+ 0:00 grep --color=auto vnc
24548 ? S 0:00 Xtightvnc :2 -desktop X -auth /root/.Xauthority -geometry 1024x768 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -rfbport 5902 -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgb
24556 ? S 0:00 /bin/sh /root/.vnc/xstartup
root@localhost:/usr/bin#

@dnschneid
Copy link
Owner

I don't think that one was launched by my script...you should probably reboot to get to a sane state, then just try doing startxfce4.

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

I powered off and on, and yes, it is not coming up automatically:

But I don't understand what power cycling did that completely exiting and unmounting, then restarting the chroot did. Actually, I have an idea, that I will test tomorrow - after running the new prepare.sh the first time, then answering yes to the prompt, and having the chroot updated with the vnc package, I exited the chroot, and went to /usr/local/chroots/precise to send the prepare.sh and noticed it was gone after it was used, so I made a new one, cp'd it to ~/Downloads to upload or attach. But by making a new one (from a .bak file), I think it ran again, so perhaps it runs once after installing.

Should you consider leaving the prepare.sh file there, perhaps renaming it prepare.used or prepare.last so advanced users can see if the parameters and font types/directories are what they want, or can debug?

I realize you can't leave it there as executable or it will run every chroot entry, but renaming, or chmod to non exec?

I will look into this tomorrow. Thanks.

root@localhost:/usr/bin# xvncviewer
xvncviewer: ConnectToTcpAddr: connect: Connection refused
Unable to connect to VNC server
root@localhost:/usr/bin# ps ax | grep vnc
8454 pts/3 S+ 0:00 grep --color=auto vnc
root@localhost:/usr/bin# ^C

@appsforartists
Copy link

David,

When you get a chance, I'd love an explanation of what's different between using VNC and VT3. Would it be easy to set up one instance of crouton to use one or the other?

Based on this commit it looks like I could apt-get install vnc4server and create a script that starts Xvnc instead of X, maybe something like:

~/bin/lcdinit:

export MAIN_DISPLAY="lcd"
xinit

~/bin/vncinit:

export MAIN_DISPLAY="vnc"
xinit

/etc/X11/xinit/xserverrc:

SET_DPI="-dpi 239"

if [ "$MAIN_DISPLAY" = "vnc" ]; then
    exec /usr/bin/Xvnc -DeferUpdate 10 -NeverShared -SecurityTypes none -IdleTimeout 0 -localhost -once "$@" $SET_DPI
else
    exec /usr/bin/X -nolisten tcp "$@" $SET_DPI
fi

@dnschneid
Copy link
Owner

Yep, that should work (I've tweaked the lines to fix the syntax), and yes, the two techniques will interop just fine.

Benefits of running in VT3 are that you get GPU/3D acceleration, it runs at full resolution with minimum lag, and it's the most efficient battery-wise. Downsides are that currently Chromium seems to drop connections when not the active VT (see #118), you can't share the clipboard without something like #144, the keyboard shortcut to switch chroots sucks (#48), and you can't see your Chromium OS tabs and your chroot at the same time.

Benefits of running in VNC are that it runs in a tab or a window (so you can arrange it with your other tabs however you desire), switching to the chroot is the same as switching to any webpage, and if your VNC client implements clipboard synchronization you automatically get that. Downsides are that you don't have any GPU acceleration, there's a bit of lag and overhead due to encoding/decoding/rendering the VNC protocol, all possible resolutions have to be supplied to the Xvnc command line (pass multiple -geometry parameters), and you have to have an extension installed and launch (or auto-launch) it.

The third option is running using Xephyr, which nests an X11 server inside the Chromium OS one and uses ratpoison to swap between them. Benefits/downsides are pretty much a hybrid of VT3 and VNC: switching between the chroot and Chromium OS is easier and faster because of the nicer shortcut keys and that you're not changing VTs, there's no lag and the graphics system is pretty efficient, and Chromium doesn't drop connections while in the chroot; however, you still need #144 for clipboard synchronization, you can't see your chroot and Chromium OS at the same time, you don't get GPU/3D acceleration, and you can't change resolution at all.

@dnschneid
Copy link
Owner

@tedm, yes, it sounds like you reset your changes.

@tedm
Copy link
Contributor Author

tedm commented Jun 14, 2013

yes. Let me know if you have a crouton-vnc that makes a prepare.sh with tightvncserver instead of vnc4server and I will test again. I don't know vnc well enough to know what additional optimal default parameters should be passed other than replacing the vnc4server package with tightvncserver.

Also, is it a bug that the vncclient that goes along with tightvncserver (xtightvncviewer package) doesn't pick up my xfce customizations?

The last time I used vnc was many years ago with the LTSP project, and there was only one X server that we knew about. Wallpapers were not yet invented... ;) As an instructor, we teach from books that mention vnc is outdated... and potentially insecure and inefficient ... of course that's not all entirely true.

@DennisLfromGA
Copy link
Collaborator

@tedm - It looks like David switched to using the tightvncserver about a week ago.

@david - Just installed crouton-vnc using targets vnc,xfce and it works great. One question though - after looking at some of the branch files, it looks like maybe I should have specified targets vnc,xephyr instead since it looks to be setup that way ???

Thanx again for all your work!

@moocow1452
Copy link

K, can you give me a primer on why a Virtualbox guest can resize the desktop with no problem, but a VNC client to an otherwise headless display can't?

@dnschneid
Copy link
Owner

Virtualbox uses its own video driver and protocol. That's why you need the Virtualbox tools installed in the guest in order for that feature to work.

@dnschneid
Copy link
Owner

There is functionality in VNC for the client to resize the host, I believe, but I don't think it's widely implemented.

@moocow1452
Copy link

Could we emulate that as a piece baked into a chroot, or is that too big of
a fork?

On Wed, Aug 7, 2013 at 4:34 PM, David Schneider [email protected]:

Virtualbox uses its own video driver and protocol. That's why you need the
Virtualbox tools installed in the guest in order for that feature to work.


Reply to this email directly or view it on GitHubhttps://github.com//issues/147#issuecomment-22281779
.

@dnschneid
Copy link
Owner

It'd probably be more reasonable to look into using xvfb-randr or some VNC server/client combo that implements everything necessary already.

@moocow1452
Copy link

K, I'll see what I can do to figure out a VNC entirely in browser, and you work on your stuff things. Thanks for the information.

@moocow1452
Copy link

Would a tabbed VNC client be able to be Chromecasted, cause then we could get really fancy with our display setups.

@moocow1452
Copy link

And another thing, since it's just me in the echo chamber right now. Steam and other GUI based apps don't seem to work well under VNC. Gonna try with the standard Crouton since I know that will work, and see if I can make a tab there.

@dnschneid
Copy link
Owner

It should be Chromecastable, but only via the slow way (of screensharing).
VNC will not allow for hardware acceleration, so Steam will perform poorly.

@moocow1452
Copy link

Figured as much. Now trying to use Java on my book to get
VirtualGL/TurboVNC running through an embed. Hopefully it can be a stopgap
until we can get something working through Node, Native Client, or
whathaveyou.
On Aug 11, 2013 11:48 AM, "David Schneider" [email protected]
wrote:

It should be Chromecastable, but only via the slow way (of screensharing).
VNC will not allow for hardware acceleration, so Steam will perform poorly.


Reply to this email directly or view it on GitHubhttps://github.com//issues/147#issuecomment-22459759
.

@brianfcoleman
Copy link

In case anyone is interested the the RealVNC viewer for Google Chrome mentioned earlier supports ARM Chromebooks as of the latest version released today. You can find it here: https://chrome.google.com/webstore/detail/vnc-viewer-for-google-chr/iabmpiboiopbgfabjmgeedhcmjenhbla

@moocow1452
Copy link

Poke.

My old work around of entering the chroot and using "vncserver -geometry 800x600 :1" quit working on me, in that the VNC Viewer in Google Chrome mentioned above simply cannot connect to the Chroot's seemingly unaffected VNC instance with tightvncserver. Is this a 64bit issue, crouton update, or something else that fell down, went boom?

@bosscar
Copy link

bosscar commented Oct 21, 2013

I was trying crouton-vnc on my Samsumg Chrome Box
Setup: sudo sh ~/Download/crouton-vnc -t vnc,xfce -r saucy

But when launching startxfce4 it ends up with the following error. I am not sure what's the issue. Can someone please help?

chronos@localhost / $ sudo startxfce4
/usr/bin/startxfce4: Starting X server

21/10/13 00:08:35 Xvnc version TightVNC-1.3.9
21/10/13 00:08:35 Copyright (C) 2000-2007 TightVNC Group
21/10/13 00:08:35 Copyright (C) 1999 AT&T Laboratories Cambridge
21/10/13 00:08:35 All Rights Reserved.
21/10/13 00:08:35 See http://www.tightvnc.com/ for information on TightVNC
21/10/13 00:08:35 Desktop name 'x11' (localhost:1)
21/10/13 00:08:35 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
21/10/13 00:08:35 Listening for VNC connections on TCP port 5901
Font directory '/usr/share/fonts/X11/Speedo/' not found - ignoring
Font directory '/usr/share/fonts/X11/Type1/' not found - ignoring
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring
/usr/bin/xinit: XFree86_VT property unexpectedly has 0 items instead of 1

VNC server launched on display :1
chrome-extension://iabmpiboiopbgfabjmgeedhcmjenhbla/index.html#address=localhost:1

screen saver extension not supported
Xlib: extension "RANDR" missing on display ":1".
xfce4-session: No gpg or ssh authentication agent found
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "RANDR" missing on display ":1.0".

(xfwm4:24595): xfwm4-WARNING *: The display does not support the XRender extension.
(xfwm4:24595): xfwm4-WARNING *
: The display does not support the XRandr extension.
(xfwm4:24595): xfwm4-WARNING *: The display does not support the XComposite extension.
(xfwm4:24595): xfwm4-WARNING *
: The display does not support the XDamage extension.
(xfwm4:24595): xfwm4-WARNING *: The display does not support the XFixes extension.
(xfwm4:24595): xfwm4-WARNING *
: Compositing manager disabled.
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "RANDR" missing on display ":1.0".

(xfsettingsd:24625): xfsettingsd-CRITICAL *: No RANDR extension found in display :1.0. Display settings won't be applied.
Xlib: extension "XInputExtension" missing on display ":1.0".
(xfsettingsd:24625): xfsettingsd-CRITICAL *
: XI is not present.
(xfsettingsd:24625): xfsettingsd-CRITICAL *: Failed to initialize the Xkb extension.
(xfsettingsd:24625): xfsettingsd-CRITICAL *
: Failed to initialize the Accessibility extension.
Xlib: extension "RANDR" missing on display ":1.0".
Xlib: extension "RANDR" missing on display ":1.0".

** (xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING **: Failed to map virtual modifiers

** (xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING **: Failed to map virtual modifiers

** (xfce4-volumed:24630): WARNING *: Binding 'XF86AudioRaiseVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioLowerVolume' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Binding 'XF86AudioMute' failed!
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING *: Failed to map virtual modifiers
*
(xfce4-volumed:24630): WARNING **: Failed to map virtual modifiers

(xfce4-session:24567): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(Thunar:24601): Gtk-WARNING *
: Unable to locate theme engine in module_path: "pixmap",
(migrate:24624): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(migrate:24624): Gtk-WARNING *
: Unable to locate theme engine in module_path: "pixmap",
(migrate:24624): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(xfce4-session:24567): Gtk-WARNING *
: Unable to locate theme engine in module_path: "pixmap",
(xfce4-session:24567): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(Thunar:24601): Gtk-WARNING *
: Unable to locate theme engine in module_path: "pixmap",
(Thunar:24601): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(polkit-gnome-authentication-agent-1:24611): polkit-gnome-1-WARNING *
: Unable to determine the session we are in: No session for pid 24611
(xfwm4:24595): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(xfwm4:24595): Gtk-WARNING *
: Unable to locate theme engine in module_path: "pixmap",
(xfwm4:24595): Gtk-WARNING *: Unable to locate theme engine in module_path: "pixmap",
(xfdesktop:24603): GLib-GIO-CRITICAL *
: g_file_get_path: assertion 'G_IS_FILE (file)' failed
(xfdesktop:24603): GLib-GIO-CRITICAL *: g_file_get_path: assertion 'G_IS_FILE (file)' failed
(xfdesktop:24603): GLib-GIO-CRITICAL *
: g_file_get_path: assertion 'G_IS_FILE (file)' failed
Failure: Module initialization failed

@dnschneid
Copy link
Owner

None of those are errors, really. Did you try launching the VNC client?

@bosscar
Copy link

bosscar commented Oct 22, 2013

I am getting the following error when i tried to connect to the localhost:5901 I also tried localhost:1 and exact ipaddress:1 everything shows the following error.

Cannot establish connection. Are you sure you have entered the correct network address, and port number if necessary?

@ibukanov
Copy link
Contributor

ibukanov commented Nov 8, 2013

The VNC client from https://chrome.google.com/webstore/detail/vnc-viewer/iabmpiboiopbgfabjmgeedhcmjenhbla now works on ARM too.

@kricketts
Copy link

I installed crouton-vnc and see the same output as bosscar. When I connect to it the vnc server the Google Chrome VNC client or the VNC Viewer client, I can connect successfully (hooray!).

My mouse works, however my keyboard on the Chromebook ( including a separate USB keyboard I tried) doesn't work in the VNC window. Ugh!

So close, yet so far away. Any ideas'?

@kricketts
Copy link

I also tried launching it with Unity. I see some font warnings and I wonder if that's related to the keyboard input issues. Thx for the help!

....................................................

chronos@localhost / $ sudo startunity
Entering /usr/local/chroots/precise...

02/01/14 23:42:47 Xvnc version TightVNC-1.3.9
02/01/14 23:42:47 Copyright (C) 2000-2007 TightVNC Group
02/01/14 23:42:47 Copyright (C) 1999 AT&T Laboratories Cambridge
02/01/14 23:42:47 All Rights Reserved.
02/01/14 23:42:47 See http://www.tightvnc.com/ for information on TightVNC
02/01/14 23:42:47 Desktop name 'x11' (localhost:1)
02/01/14 23:42:47 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
02/01/14 23:42:47 Listening for VNC connections on TCP port 5901
Font directory '/usr/share/fonts/X11/Speedo/' not found - ignoring
Font directory '/usr/share/fonts/X11/Type1/' not found - ignoring
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring
/usr/bin/xinit: XFree86_VT property unexpectedly has 0 items instead of 1

@drinkcat
Copy link
Collaborator

drinkcat commented Jan 3, 2014

Font directory '/usr/share/fonts/X11/Speedo/' not found - ignoring
Font directory '/usr/share/fonts/X11/Type1/' not found - ignoring
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring

That's harmless. Which Chromebook are you running? I might give it a try...

@kricketts
Copy link

@drinkcat ye old $250 Samsung ARM Chromebook. (Besides the pain of ARM compatibility, the hours and hours of battery time rock! w00t!)

As an aside (which may be just random useless info) I got the x11vnc server working out of the box (http://www.cs.man.ac.uk/~aljamms8/debian-chroot-armbook/) and can successfully connect to it with the Chrome VNC client. Shockingly the keyboard works with that VNC server.

However when I plug in my HDMI cable and the monitor syncs the displays, the connection suddenly drops. :/

Appreciate anything you can think of.

@dnschneid
Copy link
Owner

As a quick update, the current plan is to implement a framebuffer display via the crouton extension that uses the dummy xserver driver as a backend. Nothing's been implemented yet, of course.

@schneidh
Copy link

Very interesting conversation... I would love to be able to run a single linux app as a tab in chrome OS. I'm assuming the crouton extension/framebuffer display would support this? Even better would be to have that app show up in the launcher bar of Chrome OS.

@tedm
Copy link
Contributor Author

tedm commented Aug 17, 2014

I don't think chromeos security would allow an app in a tab, only a screen or desktop to a vnc or x11 server. What would be the disadvantages of say X11 ssh forwarding in a tab (like xming for windows) vs vnc server / client tab app?

@moocow1452
Copy link

I know that someone came up with this work around for gtk apps.

https://www.reddit.com/r/Crouton/comments/2c9v0u/using_crouton_with_broadway_to_run_gtk_apps_in/

X11ssh isn't quite ready for ChromeOS, so we can't directly do that yet to
my knowledge, and, no GL over VNC, so YMMV on how practical some apps would
be over VNC vs x11.

On Sun, Aug 17, 2014 at 12:20 AM, tedm [email protected] wrote:

I don't think chromeos security would allow an app in a tab, only a screen
or desktop to a vnc or x11 server. What would be the disadvantages of say
X11 ssh forwarding in a tab (like xming for windows) vs vnc server / client
tab app?


Reply to this email directly or view it on GitHub
#147 (comment).

@drinkcat
Copy link
Collaborator

An implementation is almost ready to merge in #1144. Closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests