Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to open X display when trying to run google-chrome on Centos (Rhel 7.5)

I need to run Google Chrome remotely on a virtual machine using SSH. I do not want xforwarding - I want to utilize the GPU available on the vm. When I try running google-chrome I get following error:

[19615:19615:0219/152933.751028:ERROR:browser_main_loop.cc(1512)] Unable to open X display. 

I've tried to setting my DISPLAY env value to various values:

export DISPLAY=localhost:0.0 export DISPLAY=127.0.0.1:0.0 export DISPLAY=:0.0 

I've also tried replacing 0.0 in abowe examples with different values.

I have ForwardX11 no in /etc/ssh/sshd_config I tried setting up target like this:

systemctl isolate multi-user.target 

When I try to run sudo lshw -C display i get folowing output:

   *-display        description: VGA compatible controller        product: Hyper-V virtual VGA        vendor: Microsoft Corporation        physical id: 8        bus info: pci@0000:00:08.0        version: 00        width: 32 bits        clock: 33MHz        capabilities: vga_controller bus_master rom        configuration: driver=hyperv_fb latency=0        resources: irq:11 memory:f8000000-fbffffff   *-display UNCLAIMED        description: VGA compatible controller        product: GM204GL [Tesla M60]        vendor: NVIDIA Corporation        physical id: 1        version: a1        width: 64 bits        clock: 33MHz        capabilities: pm msi pciexpress vga_controller bus_master cap_list        configuration: latency=0        resources: iomemory:f0-ef iomemory:f0-ef memory:41000000-41ffffff memory:fe0000000-fefffffff memory:ff0000000-ff1ffffff 

I've tried to update my gpu drivers by:

wget https://www.nvidia.com/content/DriverDownload-March2009/confirmation.php?url=/tesla/375.66/nvidia-diag-driver-local-repo-rhel7-375.66-1.x86_64.rpm yum -y install nvidia-diag-driver-local-repo-rhel7-375.66-1.x86_64.rpm 

But after that I still see UNCLIMED next to my NVIDIA gpu. Aby ideas?

like image 829
Liplattaa Avatar asked Feb 19 '20 15:02

Liplattaa


2 Answers

You can try with Xvfb. it does not require additional hardware.

Install Xvfb if you didn't install it yet and do the following steps.

sudo apt-get install -y xvfb 

Dependencies to make "headless" chrome/selenium work:

sudo apt-get -y install xorg xvfb gtk2-engines-pixbuf sudo apt-get -y install dbus-x11 xfonts-base xfonts-100dpi xfonts-75dpi xfonts-cyrillic xfonts-scalable 

Optional but nifty: For capturing screenshots of Xvfb display:

sudo apt-get -y install imagemagick x11-apps 

Make sure that Xvfb starts every time the box/vm is booted:

Xvfb -ac :99 -screen 0 1280x1024x16 & export DISPLAY=:99 

Run Google Chrome

google-chrome 
like image 52
Hussain Avatar answered Sep 28 '22 05:09

Hussain


Okay guys. I found my problem after 2 hours of going crazy. My box was configured correctly. What you can NOT do, is ssh from one box, to another box, to this box and expect X11 forwarding to play nicely. Without tearing apart the entire network, I found that if I shelled over from the MAIN box to this box ( no double or triple ssh'ing) chrome comes right up as a regular user using CLI. So it was a matter of multiple shells from multiple boxes that made the display say it was set to NOTHING! Setting the display manually only complicates the problems. Once I shelled directly over to this box from the main outside box, my display was set to 10:0, which is first instance in my configuration. Don't make this mistake, you will waste valuable time.

like image 42
Michael Tarnowski Avatar answered Sep 28 '22 06:09

Michael Tarnowski