Procházet zdrojové kódy

Set username on first boot of mesh client

Bob Mottram před 8 roky
rodič
revize
44ad7ff678
No account linked to committer's email
2 změnil soubory, kde provedl 35 přidání a 0 odebrání
  1. 30
    0
      src/freedombone-image-customise
  2. 5
    0
      src/freedombone-image-mesh

+ 30
- 0
src/freedombone-image-customise Zobrazit soubor

@@ -577,6 +577,7 @@ function mesh_client_startup_applications {
577 577
     fi
578 578
 
579 579
     START_DESKTOP=$rootdir/home/$MY_USERNAME/mesh-desktop.sh
580
+	FIRST_BOOT=/home/$MY_USERNAME/.first_boot
580 581
     echo '#!/bin/bash' > $START_DESKTOP
581 582
     echo 'dconf write /org/mate/caja/desktop/volumes-visible false' >> $START_DESKTOP
582 583
     echo 'dconf write /org/mate/caja/desktop/computer-icon-visible false' >> $START_DESKTOP
@@ -590,6 +591,35 @@ function mesh_client_startup_applications {
590 591
     echo "chmod 600 /home/$MY_USERNAME/.dbus/Xdbus" >> $START_DESKTOP
591 592
     echo "env | grep DBUS_SESSION_BUS_ADDRESS > /home/$MY_USERNAME/.dbus/Xdbus" >> $START_DESKTOP
592 593
     echo "echo 'export DBUS_SESSION_BUS_ADDRESS' >> /home/$MY_USERNAME/.dbus/Xdbus" >> $START_DESKTOP
594
+
595
+	echo '' >> $START_DESKTOP
596
+	echo "if [ ! -f $FIRST_BOOT ]; then" >> $START_DESKTOP
597
+	echo '	exit 0' >> $START_DESKTOP
598
+	echo 'fi' >> $START_DESKTOP
599
+	echo '' >> $START_DESKTOP
600
+	echo 'INITIAL_TOX_USERNAME=' >> $START_DESKTOP
601
+	echo 'while [ ! $INITIAL_TOX_USERNAME ]; do' >> $START_DESKTOP
602
+	echo '	data=$(tempfile 2>/dev/null)' >> $START_DESKTOP
603
+	echo '	trap "rm -f $data" 0 1 2 5 15' >> $START_DESKTOP
604
+	echo '	dialog --title $"Freedombone Mesh" \' >> $START_DESKTOP
605
+	echo '		   --backtitle $"Freedombone Mesh" \' >> $START_DESKTOP
606
+	echo '		   --inputbox $"\nWelcome to the Freedombone mesh.\n\nThe first thing you will need to do is set a username so that other peers can find you." 12 60 "Anon" 2>$data' >> $START_DESKTOP
607
+	echo '	sel=$?' >> $START_DESKTOP
608
+	echo '	case $sel in' >> $START_DESKTOP
609
+	echo '		0)' >> $START_DESKTOP
610
+	echo '			INITIAL_TOX_USERNAME=$(<$data)' >> $START_DESKTOP
611
+	echo '			if [ ${#INITIAL_TOX_USERNAME} -lt 1 ]; then' >> $START_DESKTOP
612
+	echo '				INITIAL_TOX_USERNAME=' >> $START_DESKTOP
613
+	echo '			fi' >> $START_DESKTOP
614
+	echo '			;;' >> $START_DESKTOP
615
+	echo '	esac' >> $START_DESKTOP
616
+	echo 'done' >> $START_DESKTOP
617
+	echo '' >> $START_DESKTOP
618
+	echo 'toxid --setuser "$INITIAL_TOX_USERNAME"' >> $START_DESKTOP
619
+	echo '' >> $START_DESKTOP
620
+	echo "rm -f $FIRST_BOOT" >> $START_DESKTOP
621
+	echo '' >> $START_DESKTOP
622
+	echo 'exit 0' >> $START_DESKTOP
593 623
     chmod +x $START_DESKTOP
594 624
 
595 625
     START_DESKTOP2=$rootdir/home/$MY_USERNAME/.config/autostart/mesh-start.desktop

+ 5
- 0
src/freedombone-image-mesh Zobrazit soubor

@@ -54,6 +54,7 @@ MESH_INSTALL_DIR=/var/lib
54 54
 MESH_INSTALL_COMPLETED=/root/.mesh_setup_completed
55 55
 MESH_INSTALL_SETUP=/root/.initial_mesh_setup
56 56
 MESH_AMNESIC=/root/.amnesic
57
+FIRST_BOOT=/home/$MY_USERNAME/.first_boot
57 58
 
58 59
 # Tomb containing logs
59 60
 TOMB_LOG_SIZE_MB=10
@@ -820,6 +821,10 @@ if [ -f $MESH_INSTALL_SETUP ]; then
820 821
     if [ ! -f $MESH_INSTALL_COMPLETED ]; then
821 822
         echo $'Mesh node setup complete' >> $INSTALL_LOG
822 823
         touch $MESH_INSTALL_COMPLETED
824
+		if [ -d /home/$MY_USERNAME/Desktop ]; then
825
+			touch $FIRST_BOOT
826
+			chown ${MY_USERNAME}:${MY_USERNAME} $FIRST_BOOT
827
+		fi
823 828
         reboot
824 829
     fi
825 830
 fi