ReleaseEngineering/How To/Access Machines via VNC
Contents
For developers
Windows loaners
"It should just work."™
Linux build (CentOS) loaners
Builders use Xvfb (for PGO) rather than VNC, so VNC isn't even installed be default. The packages are available though via yum:
yum install x11vnc
If you encounter cert errors (because the certs would have been removed when the machine was loaned), you may need to download (wget) the rpm (and dependencies) from the mozilla repo links that yum prints out.
Linux tester (Ubuntu) loaners
VNC is not running by default. ssh as root and run this:
start x11vnc
Mac OS X loaners
Connecting from a Mac client
- Use Chicken of the VNC (CotVNC). This is preferred over other clients (and even over Apple's Remote Desktop) because it's known to work.
- Use the FQDN, e.g: vnc://talos-r4-snow-001.build.mozilla.org
Connecting from a Linux client
To Mountain-Lion: Remmina Desktop Client and xtightvncviewer have been tested as a Linux client that managed to connect to Mountain Lion.
- [jmaher] - Remmina would connect and then terminate immediately for me, I ended up getting in with xtightvncviewer (the first try had a keychain issue, the second try worked)
To Yosemite+:
- [dhouse] - RealVNC is now able to connect to Apple's VNC without turning on the "legacy VNC" password only auth (See https://serverfault.com/a/897156). I was able to connect through the jumphosts (corp and rejh) with RealVNC 6.18, from linux 4.14.57, to OSX yosemite without problems.
For other Linux clients, you will have to enable "legacy VNC", instead of Apple's authentication, as well as setting the password. See the section "Enable legacy VNC and set the password". Once you run those commands you will be able to VNC and you will have to use your cltbld credentials. You might have to connect a second time for the connection to stick.
Connecting from a Windows client
TightVNC has been tested by Honza to work to connect from Windows to a Mountain Lion releng machine. Honza has determined that real VNC free is faulty.
OS X version-specific notes
Each of our Mac versions have slight differences with regards as to which user to login with once you have VNC'ed into the machine.
This section just documents the current status if you try to VNC to a machine.
You might need to go through the section "Enable legacy VNC and set the password" depending on the version of Mac.
Mac OS X 10.6 - Snow Leopard
Login as the root user with the root password. It will take you to the Builder's session.
Mac OS X 10.7 - Lion
Rarely needed since these are now only used as builders.
Login as the root user with the root password. It will take you to the Builder's session.
Mac OS X 10.8 - Mountain Lion
NOTE: Do not use Apple Remote Desktop
You might be able to VNC to the machine as-is (TODO: Someone from releng check this) Follow the "Enable legacy VNC and set the password" if you can't VNC with a VNC client.
Mac OS X 10.10 - Yosemite
Use the Builder user from the account selection screen. Because of the password change that happens as part of the loaner process, you may see keychain verification dialogs unless the person on buildduty clears these for you before handing over the loan.
For releng
Password
It lives in slave-passwords.txt.gpg
Setup for loaning
NOTE: Please add notes once you figure it out.
Windows
Moving the machine to the loaner OU takes care of everything.
Linux
Just change the connection password in /etc/vnc_passwdfile, as per the slave loan instructions.
Mac OS X 10.6 - Snow Leopard
Instructions cribbed from: http://osxdaily.com/2012/10/10/remote-control-mac-screen-sharing-os-x/
Changing the cltbld password, e.g. for a slave loan, messes up the auto-login (on purpose). To connect via VNC, you'll need to login as root, and then select the "Builder" user to login to the desktop.
Mac OS X 10.7 - Lion
This is valid for a bld-lion-r5 machine.
Follow the steps from "Enable legacy VNC and set the password". If you use Remmina to connect change the colors to 24-bit, otherwise, it will crash.
Mac OS X 10.8 - Mountain Lion
Note: not actually verified
VNC in Mountain Lion is has issues. You need to run these commands on your loaner machine to fix vnc while logged in via ssh
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -specifiedUsers /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -users cltbld -privs -all -restart -agent -menu
see here for more details https://wiki.mozilla.org/ReferencePlatforms/Test/MountainLion
Mac OS X 10.10 - Yosemite
If you're using a Mac locally, Apple's remote desktop connection works by default. Use Command-K in your local Finder window to initiate a connection.
For other local OSes, follow the legacy VNC instructions below.
Enable legacy VNC and set the password
NOTE: Change the -vncpwd supersecret to something meaningful.
Verified working on: talos-r4-snow-139
We have to enable legacy VNC and set a new password (as I can't figure out what the current password is):
# root@t-yosemite-r5-0001 vncpw=supersecret /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -configure -allowAccessFor -allUsers -privs -all /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -configure -clientopts -setvnclegacy -vnclegacy yes /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -configure -clientopts -setvncpw -vncpw ${vncpw} /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -restart -agent -console
This is all based on this article.
More info about the command (for the curious):
-activate: enable service com.apple.screensharing -access -on - included in ARD_AllLocalUsersPrivs, below -privs -all: defaults write ${TargetDisk}Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsersPrivs -integer 0x400000ff -allowAccessFor -allUsers: defaults write /Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsers -boolean TRUE
FAQ
Q: I'm trying to connect from Linux with Remmina Desktop to a Mac machine but when I connect I get kicked out immediately (I see a window pop up for a second and then goes away)
A: Try changing the color setings (256 colors was causing this for armenzg)
Tip: xtightvncviewer can first have a keychain issue and the second try would work.
Login in with Apple's Remote Desktop will render this issue:
You can login with the root user, however, you will be starting root's VNC session without being able to see what is happening under Builder/cltbld. You can try the Builder user, however, it will only be a request that will require an authorization and there's no one on the other side to grant you the access. See https://bugzilla.mozilla.org/show_bug.cgi?id=733534 for details.