-X
= More security , less compatibility
-Y
= Less security , more compatibility
ssh -Y -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no -o ServerAliveInterval=60 \
-o LogLevel=ERROR -F /dev/null \
-i /Users/morpheous/Library/CloudStorage/Dropbox/Misc/SSH2/KEYS/6105Buttons3 \
[email protected]
sshpass -p "wsu" ssh -Y -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null \
-o StrictHostKeyChecking=no -o ServerAliveInterval=60 \
-o LogLevel=ERROR -F /dev/null \
[email protected]
sudo nano /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
sudo systemctl restart sshd
uses localhost
/ loopback
address = 127.0.0.1
verify after connecting ssh session ipconfig
I had best results setting MobaXterm ➡️ Settings ➡️ X11 ➡️ "Rootless": Transparent X11 server Jwm window borders ( experimental )
instead of mobaxterm
Install Package ( pkg ) : https://www.xquartz.org
you have to logout of osx , and relog
Make sure its open before ssh-ing :
open -a XQuartz
DISPLAY=[host]:display_number.screen_number
Host = where the display server ( X server ) is running.
Display Number = specific display server instance on that host
Screen Number = specific screen on a display server
X servers listen on ports 6000 + display_number
Example Using Port :13
the corresponding port is 6000 + 13 = 6013
sudo netstat -plunt | grep 601
So based on X11DisplayOffset
, it increments each time a new simultaneous -X
session is created
DISPLAY=localhost:10
DISPLAY=localhost:11
DISPLAY=localhost:12
...
Manual / Forced Reservation
ssh -L 6013:localhost:6013 username@node_ip
export DISPLAY=localhost:13
sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev
pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0
go get github.com/webview/webview_go
xxxxxxxxxx
package main
import (
webview "github.com/webview/webview_go"
)
func main() {
w := webview.New( true )
defer w.Destroy()
if w == nil { panic( "failed to create webview instance" ) }
w.SetTitle( "Simple Browser" )
w.SetSize( 800 , 600 , webview.HintNone )
w.Navigate( "https://niivue.github.io/niivue/features/save.custom.html.html" )
w.Run()
}