Remote Patching (using X11)

Hi Mark,

Thanks for the reply.

Yep i have host going and quartz running.

I have just created a new card from the original 3.0 img I saved away before I started messing around, just about to give it a try…

Ok, this is with the 3.0 image. WIFI set from usb stick:

Last login: Wed Dec 27 20:04:59 on ttys000
You have mail.
MP12:~ andrewcapon$ ping mp12.local
PING mp12.local (192.168.1.98): 56 data bytes
64 bytes from 192.168.1.98: icmp_seq=0 ttl=64 time=0.046 ms
64 bytes from 192.168.1.98: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 192.168.1.98: icmp_seq=2 ttl=64 time=0.048 ms
^C
— mp12.local ping statistics —
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.046/0.047/0.048/0.001 ms
MP12:~ andrewcapon$ xhost +
access control disabled, clients can connect from any host
MP12:~ andrewcapon$ ssh -X root@organelle
root@organelle’s password:
Last login: Sat Oct 17 01:07:26 2015
/usr/bin/xauth: file /tmp/Xauthority-root does not exist
Welcome to Organelle.
[root@organelle ~]# export DISPLAY=192.168.1.98:0.0
[root@organelle ~]# ~/scripts/restart-mother.sh
pd: no process found
cat: /tmp/pids/.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
pd: no process found
cat: /tmp/pids/
.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
rm: cannot remove ‘/tmp/pids/*.pid’: No such file or directory
cat: /tmp/webserver.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
cat: /tmp/webserver.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
mother: no process found
mother: no process found

pd: no process found
cat: /tmp/pids/.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
pd: no process found
cat: /tmp/pids/
.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
rm: cannot remove ‘/tmp/pids/.pid’: No such file or directory
cat: /tmp/webserver.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
cat: /tmp/webserver.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
mother: no process found
mother: no process found
Simple mixer control ‘PCM’,0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 192
Mono:
Front Left: Playback 0 [0%]
Front Right: Playback 0 [0%]
Simple mixer control ‘PCM’,0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 192
Mono:
Front Left: Playback 170 [89%]
Front Right: Playback 170 [89%]
Simple mixer control ‘Headphone’,0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 127
Mono:
Front Left: Playback 0 [0%] [-51.50dB]
Front Right: Playback 0 [0%] [-51.50dB]
Simple mixer control ‘Headphone’,0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 127
Mono:
Front Left: Playback 127 [100%] [12.00dB]
Front Right: Playback 127 [100%] [12.00dB]
Simple mixer control ‘Capture Mux’,0
Capabilities: enum
Items: ‘MIC_IN’ 'LINE_IN’
Item0: 'LINE_IN’
found USB drive, using /dev/sda1
/dev/sda1 is already mounted
using USER_DIR: /usbdrive
running /root/mother with scripts /root/scripts
[root@organelle ~]# opening serial …
opened serial, setting up…
done opening serial
build date Dec 15 2017 16:54:24/n._Analog Style
._Arpeggio Sampler
._Arpeggio Synth
._Basic Poly
._Basic Sampler
._Beats and Pieces
._Children of Sample
._Chords Roll
._Countdown Timer
._Distributor
._Drone 1
._Dropper
.Drummy
.
.DS_Store
.DS_Store
._Genny 1
._Granular Freezer
._Guitar2ARP
._Guitar2Synth
._h Rando
._I Take Up
._Jeraphy
._Metronome
._Midi File Sampler
._Midi File Synth
._Nice Surprises
._Nice Surprises Poly
._Nori Grains
._Nori Sampler
._Nori Sampler Mono
._Overloop
._Phase Vocoder
._Polybeats DRG32V
._Pow Pow’s Polybeats
._Punchy
._Quad Delay
._Recorder
._Rhodey
._Rhythm Delay Dist
._Sampler Style
._Sampler Style Delay
._Sampler Style REC
._SC_Install.zop
._SimplePoly.sc
._Sine Surprises
._Steppy Delay
._Stereo Rhythmicon
._Test
._Thery Scary
._Tuned Delay
._UpdateOS-3.0
._Update-OS-v2.1
._Vocoder RL
._Waterfall Down
._Waterfall Up
._Wepa!
patch[0]
patch[1] Shutdown
patch[2] Storage
patch[3] Settings
patch[4] Extra
patch[5]
patch[6] Analog Style
patch[7] Arpeggio Sampler
patch[8] Arpeggio Synth
patch[9] Basic Poly
patch[10] Basic Sampler
patch[11] Beats and Pieces
patch[12] Children of Sample
patch[13] Chords Roll
patch[14] Countdown Timer
patch[15] Distributor
patch[16] Drone 1
patch[17] Dropper
patch[18] Drummy
patch[19] Genny 1
patch[20] Granular Freezer
patch[21] Guitar2ARP
patch[22] Guitar2Synth
patch[23] h Rando
patch[24] I Take Up
patch[25] Jeraphy
patch[26] Metronome
patch[27] Midi File Sampler
patch[28] Midi File Synth
patch[29] Nice Surprises
patch[30] Nice Surprises Poly
patch[31] Nori Grains
patch[32] Nori Sampler
patch[33] Nori Sampler Mono
patch[34] Overloop
patch[35] Phase Vocoder
patch[36] Polybeats DRG32V
patch[37] Pow Pow’s Polybeats
patch[38] Punchy
patch[39] Quad Delay
patch[40] Recorder
patch[41] Rhodey
patch[42] Rhythm Delay Dist
patch[43] Sampler Style
patch[44] Sampler Style Delay
patch[45] Sampler Style REC
patch[46] ._SC_Install.zop
patch[47] SimplePoly.sc
patch[48] Sine Surprises
patch[49] Steppy Delay
patch[50] Stereo Rhythmicon
patch[51] Test
patch[52] Thery Scary
patch[53] Tuned Delay
patch[54] Update-OS-v2.1
patch[55] Vocoder RL
patch[56] Waterfall Down
patch[57] Waterfall Up
patch[58] Wepa!
num patches 53
patch menu offset 6
Menu Selection: 6:Analog Style
Checking for patch Files : /usbdrive/Patches/Analog Style
pd: no process found
cat: /tmp/pids/
.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
pd: no process found
cat: /tmp/pids/.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]
rm: cannot remove '/tmp/pids/
.pid’: No such file or directory
rm: cannot remove ‘/tmp/patch’: No such file or directory
X server not found…
starting Pure Data : ( cd /tmp/patch ; /usr/bin/pd -rt -nogui -audiobuf 4 -path /usbdrive/PdExtraLibs “/root/mother.pd” main.pd )&
tb_peakcomp~ v1.0 2013 Two Big Ears
udpsend: connecting to port 4001
opened 0 MIDI input device(s) and 0 MIDI output device(s).
error: /tmp/patch/knobs.txt: can’t open
error: /tmp/patch/knobs.txt: read failed
verbose(4): … you might be able to track this down from the Find menu.

[root@organelle ~]# xprop -root
xprop: unable to open display ‘192.168.1.98:0.0’

[root@organelle ~]# ping 192.168.1.98
PING 192.168.1.98 (192.168.1.98) 56(84) bytes of data.
64 bytes from 192.168.1.98: icmp_seq=1 ttl=64 time=4.37 ms
64 bytes from 192.168.1.98: icmp_seq=2 ttl=64 time=3.88 ms
^C
— 192.168.1.98 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 3.881/4.129/4.378/0.256 ms

P.s. I have XWindows working to other boxes from the mac.

ok, so Ive just check with my clean 2.1 image, upgraded to 3.0
I can find no issue…
all i had to do was

on organelle
start wifi from wifi setup (already had setup the wifi text file)

on mac

xhost +
ssh -x root@organelle (password organelle) 

then from that ssh session

export DISPLAY=export DISPLAY=192.168.1.40:0.0
~/scripts/restart-mother.sh

then as soon as I started a patch , ping PD comes up

on my mac, Ive simply have

$ cat .ssh/config 
Protocol 2
ForwardX11 yes
ForwardX11Trusted yes
CheckHostIP no
StrictHostKeyChecking no 
UserKnownHostsFile=/dev/null

so its only the mac, that you might have to alter, the Organelle is already configured…

(its a while since i set this up, so ive added various things on the mac side, i think mostly for convenience )

EDIT: to be ‘complete’ , Ive used the above on both macOS 10.12 and 10.13… it was similar before, but think i was on 10.12 by the time i got my organelle.

Thanks for checking for me, I’ll have a look at the ssh config on the mac in the morning…

mmm, still getting the same issue here with the a local .ssh/config file exactly like yours on the mac.

I’m going to download the 2.1 image onto a clean scared and update to 3.0 and try again…

Is there anywhere on the c&g servers to download a 2.1 image, I only seem to be able to find it here: http://thepeacetreaty.org/organelle/diskimages/ and I am not sure of how trustworthy that img is.

Well I have managed to get it going without setting DISPLAY, that is leaving it as “localhost:10.0” as set via the ssh connection.

If create an xterm from the mac via ssh as follows:

ssh -X -C root@organelle xterm

Then in the xterm window restart mother everything works as expected.

Also doing it like this the mac automatically starts XQuartz so there is no need for the “Host +”.

Does this work at your end?

1 Like

With a little more fiddling I have it down to one line from the mac to do it all, including starting XQuartz on the mac:

ssh -X -C root@organelle xterm -hold -e “~/scripts/restart-motherX.sh”

the restart-motherX.sh file is a copy of the restart-mother.sh file with a single line added to the end:

#!/bin/sh

# USER_DIR=${USER_DIR:="/usbdrive"}
# PATCH_DIR=${PATCH_DIR:="/usbdrive/Patches"}
export FW_DIR=${FW_DIR:="/root"}
export SCRIPTS_DIR=$FW_DIR/scripts

$SCRIPTS_DIR/killmother.sh
$SCRIPTS_DIR/start-mother.sh

$SHELL

This makes sure that the xterm hangs around as the mother process is a child.

This is actually better as the following:

ssh -Y -C root@organelle xterm -hold -e “~/scripts/restart-motherX.sh”

Using -X I was getting issues after a while, some security shenanigans I should think.

1 Like

cool, you have it working

its a bit odd -C just launches the command, so unsure why you cant do this on the organelle itself.
similarly xhost + is usually required to extend permission to a remote client to access a local display.

would seem for some reason, our macs/xquartz are configured differently.

anyway, id not worry about it, if you have it working :wink:

I’m just wondering if that command works for you on your mac, if it doesn’t then I guess the macs must be setup different in some way. It is easily possible that I have done something at some time in the past to get it working in this way!

I would also just like to say thanks for all your help and the work that you have been doing on the organelle, it is very much appreciated.

I just got X11 working on a Windows machine :slight_smile: (with Putty and Xming).
I originally tried to use secure X11 forwarding but I couldnt get it working (I think logging in as root makes this a bit complicated as it prevents the .Xauthority file from getting setup on login).
Launching Xming without access controls enabled and setting DISPLAY manually did the trick though.

Thats useful info, I was thinking of setting up my surface pro, I will look at Xming. Thanks for the info.

Thanks a lot for this, as this solutions works also on Ubuntu. Starting xterm directly as a ssh parameter makes also here a difference.

I have this running on macOS, but it seems pretty unstable. After loading a few different patches, my Organelle ‘clicks’ and freezes up.

(For future macOS visitors - you’ll need to install XQuartz-2.7.11.dmg these days)

1 Like

I find that X11 forwarding for the Organelle works surprisingly well.

If anybody else has had a hard time adjusting their brain to using Control instead of Command in Pure Data, Command can be set up to function as Control by creating a .Xmodmap file in the home directory on your Mac with the following content:

! Remap Cmd to Ctrl in XQuartz apps
clear Mod2
clear control
keycode 63 = Control_L
keycode 67 = Control_L
keycode 71 = Control_L
add Control = Control_L
2 Likes

Dear All

I’ve spent an exciting couple of hours trying to work out why I could not get X11 forwarding with my organelle so I could edit patches directly with my Linux laptop or my MacBook. I kept getting the message

X11 connection rejected because of wrong authentication.

But none of the suggestions I got for googling that matched what I had. I’ve been using 20180529-v3.1.img.zip as my image and I think it has a bug. I picked this one up from an earlier thread which intimated it was the most recent but now thinking I may be wrong :). It came from http://thepeacetreaty.org/organelle/diskimages/

Specifically I noticed eventually that the XAUTHORITY environment variable was pointing at

[root@organelle ~]# ls -al /var/tmp/.Xauthority_root 
-rw------- 1 root root 0 Nov  7 15:20 /var/tmp/.Xauthority_root

But the actual xauthority file being updated was

[root@organelle ~]# ls -al /tmp/Xauthority-root 
-rw------- 1 root root 110 Nov  7 16:17 /tmp/Xauthority-root

Once I did

[root@organelle ~]# export XAUTHORITY=/tmp/Xauthority-$USER

I could at last run xeyes from my organelle! YAY! And it appears I can edit patches ! Yay! I made it permanent in my .bash_profile.

But before I go too far, am I using a dodgy image and might face other issues? And if so - what image is recommended?

many thanks to everyone here for their hardwork on this - very much appreciated.

Best regards

Ian

see this post

but Im pretty sure this is in OS 3.0 (and above),
which OS image do yo have installed?

EDIT, just read your using 3.1… do you want to check the file discussed in the above post is present, and correct.

Ah - I did read that earlier and then I thought all these changes had been rolled in.

Just checked and I do have that file and the entries in sshd_config although there’s a slight change to the path. (/etc/ssh/sshd_config). This is a new image I applied earlier from scratch to make sure I hadn’t ballsed something up. So should be working?

[root@organelle ~]# grep PermitUser /etc/ssh/sshd_config 
#PermitUserEnvironment no
PermitUserEnvironment yes

[root@organelle ~]# cat .ssh/environment 
XAUTHORITY=/tmp/Xauthority-root

Many thanks

Ian