XQuartz $DISPLAY problems, cannot open xclock locally, cannot ssh -X - macos

I am trying to solve a cascading series of bugs that started with me not able to copy to my macOS clipboard from remote ssh and has lead me to realize my X11 situation is seriously messed up. I have read a few other stackoverflow threads and they do not address my particular problems.
First my setup is macOS Mojave 10.14.5. I have xquartz 2.7.11 installed from the website. When I run echo $DISPLAY locally (on macOS) I get /private/tmp/com.apple.launchd.waagOnO6Qm/org.macosforge.xquartz:0.
Since I don't know where the error actually is I will list two problems I can identify currently.
Two problems:
If I run xclock locally nothing happens inside my terminal. I do notice that an "active" dot appears under the XQuartz dock icon for a second and then disappears. But after this happens my terminal still just hangs at xclock as though it is running.
If I try to ssh -X remote into a remote machine my terminal is locked out. I cannot keyboard interrupt. I ran this with -vvv to try to debug and I see that it hangs with xauth:
debug2: client_x11_get_proto: /opt/X11/bin/xauth -f /var/folders/jw/ltyk9x9n0_xb61jhdnct27fr0000gn/T//ssh-vcqwT7qh5yk2/xauthfile generate /private/tmp/com.apple.launchd.waagOnO6Qm/org.macosforge.xquartz:0 MIT-MAGIC-COOKIE-1 untrusted timeout 1260 2>/dev/null
Attempts to Solve
Other related stack threads have suggested reinstalling XQuartz, which I have done, both manually and with Homebrew. I have logged back out and in following reinstallation.
This thread suggested I solve my xauth problem by deleting .XAuthority file and recreating it. However, when I
xauth generate :0 . trusted
My XQuartz pops up a window saying XQuartz quit unexpectedly which I can provide the Report for if it helps. Then in the terminal it says
xauth: (argv):1: unable to open display ":0". Also I'm not sure this is the problem anyway because my .XAuthority file already contained an entry that it looks like this is trying to produce:
$HOST/unix:0 MIT-MAGIC-COOKIE-1 db7738324ca3662767b20b97b4a68680
Though it is concerning that running xauth is causing my xquartz to repeatedly quit unexpectedly (this dialog box is appearing multiple times).
This has been very frustrating to debug because I am not sure where the problem is, with xauth or xquartz somehow even though it is newly installed. Further, existing StackOverflow threads I have found detail the problem only with ssh -X but clearly I'm having problems locally, given that I can't even run xclock.
Any help is greatly appreciated.

The dot appearing and disappearing quickly indicates that the server process is terminating. This means that either the server crashed, the managing client (eg ~/.xinitrc) terminated, or we failed to even start xinit.
Almost every case I have ever seen of this has been due to someone doing something wrong in their init scripts (eg: ~/.bash*, ~/.profile, ~/.xinitrc).
Remove those and try again, then bisect to figure out the underlying issue.
However, the crash dialog from your "ssh" case indicates that it is likely the server crashing. You will need to look at the crash log for more information (or provide it here if you want help with that).

Related

Multipass totally broken on MacOS & multipassd error logs

The com.canonical.multipassd service is constantly logging errors on my Mac and multipass won't work at all, even after reinstalling, rebooting, and updating my Mac.
In an attempt to use my GPU in a Linux VM through multipass, I tried to install the AMDGPU driver for my card (Radeon Pro 5300 4GB). I had installed multipass through brew and made some progress, but the ./amdgpu-install process was returning various errors as a result of missing dependencies. Having started to resolve the missing dependencies, in an attempt to build the driver again, the build just stopped halfway through and I couldn't terminate the process or get the VM to respond at all (didn't take a screenshot sorry).
Because of this, I closed the VM shell and tried to get multipass to shut down the VM. Multipass stopped responding altogether - the application just spun, and it didn't respond at all in terminal. I force quit multipass in Activity Monitor. That still didn't fix it, so I (somewhat stupidly) force quit 'hyperkit' and 'multipassd'. This is where everything went really wrong.
Having force quit 'multipassd', I tried to re-open multipass, but it returned the error below
list failed: cannot connect to the multipass socket
Please ensure multipassd is running and '/var/run/multipass_socket' is accessible
I looked this up and tried a few suggested solutions. I uninstalled multipass with Brew. I deleted the application, and reinstalled with brew. I also tried brew remove multipass, and tried installing using the .pkg from the multipass website. When that didn't fix it, I restarted my computer and reset NVRAM on startup. That also didn't make a difference, so I have just updated my Mac to MacOS 11.4, and it is still not fixed.
The console logs suggest that multipassd is still doing something, as it is continually logging in the system.log:
May 26 09:39:15 <myName> com.apple.xpc.launchd[1] (com.canonical.multipassd[2131]): Service exited with abnormal code: 1
May 26 09:39:15 <myName> com.apple.xpc.launchd[1] (com.canonical.multipassd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
In the multipass log, this message is also being generated about once every 10 seconds:
[error] [daemon] Caught an unhandled exception: Invalid MAC address
[warning] [Qt] QMutex: destroying locked mutex
These messages are being generated even after resetting NVRAM and rebooting. I think they're the cause of my issue launching multipass, but I haven't found any solution to stop them, and I can't identify any process that is still running related to multipass. As far as brew is concerned, multipass is not installed, but it's logs are still filling up...
Happy to provide console or terminal output if needed - nothing else on my Mac seems to be broken, I just can't use multipass now. I do have a time machine backup, so if that is guaranteed to fix it, I might just resort to the backup, but I'm not sure that would necessarily fix it, and I would rather find an alternative solution.
As this has probably made clear, I'm very new to Linux and VMs... any solutions greatly appreciated!
Fixed it!! I hadn't properly uninstalled it - the 'proper' uninstall script can be run using
sudo sh "/Library/Application Support/com.canonical.multipass/uninstall.sh"
Reinstalling multipass after running this command worked fine.

Vim completely broken, can not use

Upon opening vim in my terminal, I receive this error
Error detected while processing CursorMoved Autocommands for "*"..function <SNR>
6_Highlight_Matching_Pair:
It repeats multiple times upon launch vim, then I can access vim however any movement (lkjh) causes the error to occur more.
I have deleted my .vimrc, updated my vim via brew. Neither has had any affect, vim is my go to IDE because I have it set up with plug ins in a efficient way that I prefer for programming.
Can someone please help me figure out what is occurring? Also, possibly important info I recently ran a brew update to update everything in my package manager.
Inside vim you can try using :scriptnames to get the list of loaded scripts and determine what files could be causing the issue. You can also check if vim can load without loading any additional scripts by launching with vim -u NONE.

I can't run any heroku cli commands - everything is completely unresponsive

I followed the directions to uninstall and then re-install Heroku here (homebrew instructions): https://devcenter.heroku.com/articles/heroku-cli
And now whenever I type heroku <anything> everything simply hangs. I can't ctrl+break out or anything. Oddly enough, I can close the iTerm window without a warning that a process is running.
Any help would be immensely appreciated. No idea what exactly to do about this.
I filed a ticket with Heroku yesterday about the same issue.
It turns out there is currently a bug in the .netrc parser. Try moving or removing the ~/.netrc file on your local machine and then log back in. This should resolve your issue.

OSX X11 Error cannot open display

I am trying to run any GUI container I can on MacOS. With every container I try (firefox, chrome, tor, spotify, etc) I always get the error Error: cannot open display. And it's not specific to the docker run command where I pass the environment flag with my $DISPLAY. When I try to run xhost + I get the same error.
I have a fresh XQuartz installation. It is up and running. I have turned on "allow connections from network" under security. I've tried building my own images and pulling jessie frazelle's images. I do not suspect it is a docker issue or the Dockerfiles. It is something on the host, my laptop. I can't seem to figure out what it is.
MacOS Sierra 10.12.5
Docker 17.12.0 Stable
XQuartz 2.7.11 (xorg-server 1.18.4)
My local's $DISPLAY is set to :0.0
So I finally got this to work. And it seems it was pretty simple. I am not certain how this actually fixes the issue, but now the containers work.
How I fixed it was opening up XQuartz and then opening up the "Terminal" app from the "Applications" menu. Then running the command export DISPLAY=192.168.1.X:0, then xhost +. It outputted something like this "access control disabled, clients can connect from any host". After that I was able to run my docker run commands to launch the desired GUI containers.
I am still uncertain how this works and not running them from my laptops Terminal app, but it worked. It must be something I have set in my local env. Hopefully this helps someone else out who may be running into the same issues.
Based on #Byron's answer, I've found out that I could get it to work by running these 2 commands in the normal terminal:
export DISPLAY=:0
/opt/X11/bin/xhost +

How to debug package-install failing to install package

I'm trying to install auctex which is on the the gnu elpa.gnu.org repo but it gets stuck for some reason on downloading.
I can't find anything online for this problem so I'm guessing this is something specific to my setup and not something wrong with ELPA. I'm using a port of Emacs for OS X which isn't Aquamacs and isn't vanilla emacs. I use the Emacs.app that comes with it to launch the GUI version. I've already started trying to disable parts of my init.el but it's a lot pieces of code and I want to help narrow things down first.
Here is what I have in *messages*
Making completion list... [2 times]
Contacting host: elpa.gnu.org:443
Opening TLS connection to `elpa.gnu.org'...
Opening TLS connection with `gnutls-cli --insecure -p 443 elpa.gnu.org'...done
Opening TLS connection to `elpa.gnu.org'...done
Contacting host: elpa.gnu.org:443
Buffer " *epg*" has a running process; kill it? (y or n) y
Quit
How do I debug this situation? I am guessing I need to debug the part where it tries to contact elpa.gnu.org since thats where I eventually need to kill it, but I'm not even sure how to start my version of Emacs in debug mode.
This is my version of emacs: https://bitbucket.org/mituharu/emacs-mac
Installed using this homebrew recipe: https://github.com/railwaycat/emacs-mac-port
I'm trying to avoid downloading and installing auctex manually if possible.
First of all, a little workaround: if you want to avoid installing AUCTeX manually, you can go to the auctex page in the package list of GNU ELPA, download the auctex-11.89.3.tar from that page through the web browser, and then in Emacs type M-x package-install-file to install that tar file. The end result is the same as if Emacs had downloaded and installed the package for you: AUCTeX will be managed by the Emacs package manager.
It seems like something is going wrong when Emacs tries to download the file, so this can be a way to circumvent the problem. If you want to figure out what's happening, I'd suggest downloading Wireshark and capturing the network traffic while Emacs is trying to download the file. (You might find this intro video helpful.) My guess is that you'll see some TLS alerts or TCP connection resets, which could be a pointer to where to start looking for the error.

Resources