# Plotting over ssh without X11

**URL:** <https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247>\
**Category:** VS Code\
**Created:** [September 25, 2020, 8:03am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247 "2020-09-25T08:03:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Niclas\_Wiberg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niclas_wiberg/32/19063_2.png) [@Niclas\_Wiberg](https://discourse.julialang.org/u/Niclas_Wiberg)\
**Post date:** [September 25, 2020, 8:03am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247/1 "2020-09-25T08:03:43Z")

</div>

I am running Julia over ssh in VSCode. What plotting options are there? I don’t have X11.

VSCode can display images from the remote file system, so in principle it should be possible to plot to a file, and then show it in VSCode. Is there any convenient workflow around that?

Other ideas?

Thanks,

Niclas

---

<div class="post-metadata">

**Author:** ![zsoerenm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zsoerenm/32/664_2.png) [@zsoerenm](https://discourse.julialang.org/u/zsoerenm)\
**Post date:** [September 25, 2020, 8:27am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247/2 "2020-09-25T08:27:50Z")

</div>

If you are only looking for a sketch, you could use [UnicodePlots.jl](https://github.com/Evizero/UnicodePlots.jl).  
It runs in the terminal.

---

<div class="post-metadata">

**Author:** ![Niclas\_Wiberg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niclas_wiberg/32/19063_2.png) [@Niclas\_Wiberg](https://discourse.julialang.org/u/Niclas_Wiberg)\
**Post date:** [September 25, 2020, 8:33am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247/3 "2020-09-25T08:33:15Z")

</div>

Thanks. I already knew about it but it works surprisingly well and deserves to be mentioned.

Niclas

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [September 25, 2020, 8:40am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247/4 "2020-09-25T08:40:41Z")

</div>

Just `using Plots; plot(1:3, rand(3))` opens a plot in VSCode (over ssh) for me. I’d also recommend setting `ENV["GKSwstype"]="nul"` to get rid of the error message about not having an X server on the remote.

---

<div class="post-metadata">

**Author:** ![Niclas\_Wiberg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niclas_wiberg/32/19063_2.png) [@Niclas\_Wiberg](https://discourse.julialang.org/u/Niclas_Wiberg)\
**Post date:** [September 25, 2020, 8:54am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247/5 "2020-09-25T08:54:32Z")

</div>

Wow, amazing, thanks! Embarrassing that I didn’t even consider trying that…

Niclas

---

<div class="post-metadata">

**Author:** ![Oto\_Brzobohaty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oto_brzobohaty/32/10370_2.png) [@Oto\_Brzobohaty](https://discourse.julialang.org/u/Oto_Brzobohaty)\
**Post date:** [September 25, 2020, 9:05am UTC](https://discourse.julialang.org/t/plotting-over-ssh-without-x11/47247/6 "2020-09-25T09:05:19Z")

</div>

I would recommand to read this:

> [@Plotting while working with VS Code remote - ssh](https://discourse.julialang.org/t/plotting-while-working-with-vs-code-remote-ssh/34309/6):
>
> Here is the case. I had the same type of errors that you posted. Even though I installed qt5-default, I had to add ENV["GKSwstype"] = "100" in my startup.jl file, and the problem disappeared. May be you can try the second step. Edit: Of course the library libQt5Widgets.so must be on the system.
