Cannot connect to X server GOOGLE COLAB

19,869

Solution 1

An X server is a program in the X Window System that runs on local machines (i.e. the computers used directly by users) and handles all access to the graphics cards, display screens and input devices (typically a keyboard and mouse) on those computers.

With that said Colab runs as a terminal instance in the server, if you are using GPU runtime, then the problem is not with X server accessing your Graphics card, neither with Input devices, generally this occurs when you try to parse some data that should be displayed as separate window on your desktop, commands like cv2.imshow(), there can be other similar functions that can cause this problem, if you have to use graphical ouput you might want to look into %matplotlib notebook and displaying the data in the interactable matplot plots.

If this is not your issue, just post a link to your modified code and I might be able to help more.

Solution 2

I had the same problem in Colab for a simple OpenCV program to track a tennis ball in a tennis match video and had to comment out these lines, as mentioned by @anand:

#cv2.namedWindow("motion")
#cv2.imshow("motion", img)# モーション画像を表示 

#cv2.destroyAllWindows()

Note: the above lines were not clustered but spread apart.

Share:
19,869
Md. Razibul Hasan Mithu
Author by

Md. Razibul Hasan Mithu

Updated on June 19, 2022

Comments

  • Md. Razibul Hasan Mithu
    Md. Razibul Hasan Mithu almost 2 years

    I am trying to make a prediction using Tensorflow Object Detection API on Google COLAB. Already I successfully completed the training process and Export Inference Graph task.

    But Problem is when I am going to make a new prediction it's throwing some error log.

    cannot connect to X server

    Now I am unable to make a new prediction. Some portion of my error log:

    totalMemory: 11.17GiB freeMemory: 6.65GiB
    2019-02-07 15:08:38.398219: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
    2019-02-07 15:08:38.745889: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
    2019-02-07 15:08:38.745955: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0 
    2019-02-07 15:08:38.745975: I 
    tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
    2019-02-07 15:08:38.746201: W 
    tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:42] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.
    2019-02-07 15:08:38.746259: I 
    tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6426 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:04.0, compute capability: 3.7)
    2019-02-07 15:08:39.683618: W ./tensorflow/core/grappler/optimizers/graph_optimizer_stage.h:241] Failed to run optimizer ArithmeticOptimizer, stage RemoveStackStridedSliceSameAxis node Preprocessor/map/while/ResizeToRange/strided_slice_3. Error: Pack node (Preprocessor/map/while/ResizeToRange/stack_2) axis attribute is out of bounds: 0
    2019-02-07 15:08:40.360560: W ./tensorflow/core/grappler/optimizers/graph_optimizer_stage.h:241] Failed to run optimizer ArithmeticOptimizer, stage RemoveStackStridedSliceSameAxis node Preprocessor/map/while/ResizeToRange/strided_slice_3. Error: Pack node (Preprocessor/map/while/ResizeToRange/stack_2) axis attribute is out of bounds: 0
    2019-02-07 15:08:40.646093: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally
    : cannot connect to X server 
    

    How can I figure out the reason for this problem?

  • George Ogden
    George Ogden almost 4 years
    Also, #vid.release() was helpful.
  • Md. Razibul Hasan Mithu
    Md. Razibul Hasan Mithu almost 3 years
    Thanks a lot, it works for me. Now I'm saving the image instead of view.