joininbox/scripts/info.qtgui.sh
cornpharmer 42919a425f
Fixed typos (#79)
* fixed-typos

* fixed-typo
2022-03-12 13:45:09 +03:00

159 lines
4.6 KiB
Bash
Executable file

#!/bin/bash
source /home/joinmarket/_functions.sh
source /home/joinmarket/joinin.conf
checkRPCwallet
# Basic Options
OPTIONS=(LINUX "Running Linux"
MAC "Running MacOS"
WINDOWS "Running Windows"
localhost "Linux on the same desktop"
)
CHOICE=$(dialog --clear --title "Choose a desktop OS" --menu "" 10 45 4 "${OPTIONS[@]}" 2>&1 >/dev/tty)
clear
case $CHOICE in
LINUX) echo "Showing instructions for Linux";;
MAC) echo "Showing intsructions for MacOS";;
WINDOWS) echo "Showing instructions for Windows";;
localhost) echo "Showing instructions for Linux on the same desktop";;
*) exit 1;;
esac
joinmarketSSHchanged=0
if grep -Eq "^DenyUsers joinmarket" /etc/ssh/sshd_config; then
sudo /home/joinmarket/set.ssh.sh on
joinmarketSSHchanged=1
fi
# switch on X11 forwarding
if [ ! -f /home/joinmarket/.Xauthority ]; then
sudo -u joinmarket touch /home/joinmarket/.Xauthority
fi
sudo sed -i "s/^X11Forwarding no/X11Forwarding yes/g" /etc/ssh/sshd_config
if ! grep -Eq "^X11Forwarding yes" /etc/ssh/sshd_config; then
echo "X11Forwarding yes" | sudo tee -a /etc/ssh/sshd_config
fi
echo "# Set 'X11Forwarding yes' and restarting sshd"
sudo service sshd restart
if [ "$RPCoverTor" = "on" ];then
tor="torsocks "
else
tor=""
fi
echo "
************************************************************************************
Instructions to open the JoinMarket-QT GUI on the desktop
************************************************************************************
"
if [ "${runningEnv}" = standalone ]; then
joinmarketUserPsw="ssh login password"
else
joinmarketUserPsw="PASSWORD_B (rpcpassword in the bitcoin.conf)"
fi
if [ "${CHOICE}" = "LINUX" ]; then
echo "
Use the following line in a new desktop terminal to connect:
ssh -X joinmarket@${localip} ${tor}joinmarket-clientserver/jmvenv/bin/python joinmarket-clientserver/scripts/joinmarket-qt.py
Use the ${joinmarketUserPsw} to open the JoinMarket-QT GUI
"
elif [ "${CHOICE}" = "MAC" ]; then
echo "
Install the XQuartz application from https://www.xquartz.org/
Use the following line in a new desktop terminal to connect:
ssh -X joinmarket@${localip} ${tor}joinmarket-clientserver/jmvenv/bin/python joinmarket-clientserver/scripts/joinmarket-qt.py
Use the ${joinmarketUserPsw} to open the JoinMarket-QT GUI
"
elif [ "${CHOICE}" = "WINDOWS" ]; then
echo "
Download, install and run XMing with the default settings - https://sourceforge.net/projects/xming/
Open Putty and fill in:
Host Name: $localip
Port: 22
Under Connection set:
Data -> Auto-login username: joinmarket
SSH -> X11 -> [x] Enable X11 forwarding
The settings can be saved in Session -> type a name under Saved session -> Save
Make sure that Xming is running (the icon is present on the taskbar)
Open the connection
Use the ${joinmarketUserPsw} to log in
In the terminal Exit to the Command Line and type:
qtgui
The QT GUI will appear on the Windows desktop running from your RaspiBlitz.
"
elif [ "${CHOICE}" = "localhost" ]; then
echo "
Use the following line in a new desktop terminal to connect:
ssh -X joinmarket@localhost ${tor}joinmarket-clientserver/jmvenv/bin/python joinmarket-clientserver/scripts/joinmarket-qt.py
Use the ${joinmarketUserPsw} to open the JoinMarket-QT GUI
Alternatively disable the display access control of the xserver:
* Open a new terminal on the desktop
* type:
xhost +
* use the shortcut in the JoininBox terminal to open the JoinMarket-QT GUI:
qtgui
* re-enable the access control with:
xhost -
"
fi
echo "
************************************************************************************
The graphical interface will run on the desktop relayed from the node via an encrypted ssh tunnel.
See the walkthrough for the JoinMarket-Qt GUI to send payments with coinjoin or run multiple coinjoins (tumbler):
https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/JOINMARKET-QT-GUIDE.md
Video demonstration of using the JoinMarket-Qt GUI by Adam Gibson (waxwing):
https://youtu.be/hwmvZVQ4C4M
See this review thread about the QT GUI:
https://twitter.com/zndtoshi/status/1191799199119134720
************************************************************************************
Press ENTER when the QT GUI is opened to prevent further connections and exit to the menu.
"
sleep 2
read key
if grep -Eq "^X11Forwarding yes" /etc/ssh/sshd_config; then
echo "# Setting 'X11Forwarding no' in the /etc/ssh/sshd_config"
sudo sed -i "s/^X11Forwarding yes/X11Forwarding no/g" /etc/ssh/sshd_config
echo "# Restarting sshd"
sudo service sshd restart
fi
if [ $joinmarketSSHchanged = 1 ];then
sudo /home/joinmarket/set.ssh.sh off
fi