forum suggestions
added -x -u parameters, fixes for KDE/VLC, new network check, Xorg installed by default, echo -y removed, added freebsd-update
This commit is contained in:
10
README.md
10
README.md
@ -14,6 +14,12 @@ $ /mnt/installDesktop.sh
|
|||||||
```
|
```
|
||||||
4. Follow the instructions on screen. If you made a mistake, use CTRL+C to abort, then simply run the script again.
|
4. Follow the instructions on screen. If you made a mistake, use CTRL+C to abort, then simply run the script again.
|
||||||
|
|
||||||
|
## Advanced options
|
||||||
|
You can launch the script with additional parmeters:
|
||||||
|
|
||||||
|
-x skips the Xorg installation
|
||||||
|
-u skips freebsd-update
|
||||||
|
|
||||||
## Known issues
|
## Known issues
|
||||||
GNOME seems to work (and look) best - recommended desktop
|
GNOME seems to work (and look) best - recommended desktop
|
||||||
KDE untested, because KDE4 is so old now
|
KDE untested, because KDE4 is so old now
|
||||||
@ -22,3 +28,7 @@ CINNAMON produces only a black screen... help?
|
|||||||
Code::Blocks install is currently borked in 11.1 (startup crash), so you probably need to manually install it from ports
|
Code::Blocks install is currently borked in 11.1 (startup crash), so you probably need to manually install it from ports
|
||||||
|
|
||||||
No graphics driver installation, this has to be done manually.
|
No graphics driver installation, this has to be done manually.
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
2018-01-11: added -x -u parameters, fixes for KDE/VLC, new network check, Xorg installed by default, echo -y removed, added freebsd-update
|
||||||
|
2018-01-02: Initial release
|
||||||
@ -3,7 +3,7 @@
|
|||||||
# Dektop jumpstarter for FreeBSD 10/11
|
# Dektop jumpstarter for FreeBSD 10/11
|
||||||
# by Felix Caffier
|
# by Felix Caffier
|
||||||
# http://www.trisymphony.com
|
# http://www.trisymphony.com
|
||||||
# revision 2018-01-01
|
# revision 2018-01-12
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------ Notes
|
# ------------------------------------ Notes
|
||||||
@ -21,14 +21,15 @@
|
|||||||
# ------------------------------------ globals & setup
|
# ------------------------------------ globals & setup
|
||||||
|
|
||||||
# control vars and strings
|
# control vars and strings
|
||||||
INST_PKG=1
|
INST_PKG=1 # assume a fresh install
|
||||||
INST_XORG=0
|
FBSD_UPD=1 # fetch security patches by default
|
||||||
|
INST_XORG=1 # needed for every desktop
|
||||||
INST_XFCE=0
|
INST_XFCE=0
|
||||||
INST_GNOME=0
|
INST_GNOME=0
|
||||||
INST_CINNAMON=0
|
INST_CINNAMON=0
|
||||||
INST_KDE=0
|
INST_KDE=0 # possible conflict with VLC
|
||||||
INST_Office=0
|
INST_Office=0
|
||||||
INST_VLC=0
|
INST_VLC=0 # possible conflict with KDE
|
||||||
INST_Firefox=0
|
INST_Firefox=0
|
||||||
INST_Chromium=0
|
INST_Chromium=0
|
||||||
INST_CodeBlocks=0
|
INST_CodeBlocks=0
|
||||||
@ -49,8 +50,11 @@ echo -e "${CYAN}FreeBSD Desktop installer for FreeBSD 10/11
|
|||||||
by Felix Caffier (http://www.trisymphony.com)${NC}
|
by Felix Caffier (http://www.trisymphony.com)${NC}
|
||||||
|
|
||||||
This script will install PKG, X, a Desktop Environment of your choice,
|
This script will install PKG, X, a Desktop Environment of your choice,
|
||||||
some optional Desktop software and set up a 'wheel/video' user, but
|
some optional Desktop software and set up a 'wheel video' user, but
|
||||||
it will ${YELLOW}not${NC} install nvidia/amd/... graphics drivers!
|
it will ${YELLOW}not${NC} install nvidia/amd/... graphics drivers!
|
||||||
|
|
||||||
|
If you made a mistake answering the questions, you can quit out
|
||||||
|
of the installer by pressing ${CYAN}CTRL+C${NC} and then start again.
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
@ -75,7 +79,7 @@ echo -e "[ ${GREEN}INFO${NC} ] Processor architecture: $MY_ARCH"
|
|||||||
# look for PKG
|
# look for PKG
|
||||||
case "$(/usr/sbin/pkg -N 2>&1)" in
|
case "$(/usr/sbin/pkg -N 2>&1)" in
|
||||||
*" not "*)
|
*" not "*)
|
||||||
echo -e "[ ${GREEN}INFO${NC} ] PKG needs to be bootstrapped"
|
echo -e "[ ${GREEN}INFO${NC} ] PKG will be bootstrapped"
|
||||||
INST_PKG=1
|
INST_PKG=1
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -84,20 +88,42 @@ case "$(/usr/sbin/pkg -N 2>&1)" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# continue
|
# command line overrides
|
||||||
echo -e "[ ${GREEN}INFO${NC} ] Proceeding with regular installation...
|
while getopts ":xu" opt; do
|
||||||
"
|
case $opt in
|
||||||
|
x)
|
||||||
|
INST_XORG=0
|
||||||
|
echo -e "[ ${YELLOW}NOTE${NC} ] -x: Xorg will not be installed!"
|
||||||
|
;;
|
||||||
|
u)
|
||||||
|
FBSD_UPD=0
|
||||||
|
echo -e "[ ${YELLOW}NOTE${NC} ] -u: Skipping FreeBSD security patches!"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# network connection check
|
||||||
|
if nc -zw1 8.8.8.8 443 > /dev/null 2>&1 ; then
|
||||||
|
echo -e "[ ${GREEN}INFO${NC} ] Internet connection verified"
|
||||||
|
echo -e "[ ${GREEN}INFO${NC} ] Proceeding with regular installation...
|
||||||
|
"
|
||||||
|
else
|
||||||
|
echo -e "[ ${YELLOW}NOTE${NC} ] Could not verify internet connection!"
|
||||||
|
echo -e "[ ${YELLOW}NOTE${NC} ] You must be online for this script to work!"
|
||||||
|
echo -e "[ ${YELLOW}NOTE${NC} ] Proceed with caution...
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------ questions
|
# ------------------------------------ questions
|
||||||
|
|
||||||
# ask INST_XORG
|
# INST_XORG - default 1, set script argument -x to skip
|
||||||
read -p "Install XORG (required for any Desktop)? [y/N] " response
|
# read -p "Install XORG (required for any Desktop)? [y/N] " response
|
||||||
if echo "$response" | grep -iq "^y" ; then
|
# if echo "$response" | grep -iq "^y" ; then
|
||||||
INST_XORG=1
|
# INST_XORG=1
|
||||||
else
|
# else
|
||||||
echo -e "[ ${YELLOW}NOTE${NC} ] Skipping XORG. Desktops might not work!"
|
# echo -e "[ ${YELLOW}NOTE${NC} ] Skipping XORG. Desktops might not work!"
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# ask INST_XFCE
|
# ask INST_XFCE
|
||||||
read -p "Install XFCE as main Desktop? [y/N] " response
|
read -p "Install XFCE as main Desktop? [y/N] " response
|
||||||
@ -128,12 +154,14 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ask INST_VLC
|
# ask INST_VLC, but only if KDE is not selected
|
||||||
read -p "Install VLC media player (video & audio)? [y/N] " response
|
if [ "$INST_KDE" -eq 0 ] ; then
|
||||||
if echo "$response" | grep -iq "^y" ; then
|
read -p "Install VLC media player (video & audio)? [y/N] " response
|
||||||
INST_VLC=1
|
if echo "$response" | grep -iq "^y" ; then
|
||||||
else
|
INST_VLC=1
|
||||||
INST_VLC=0
|
else
|
||||||
|
INST_VLC=0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ask INST_Firefox
|
# ask INST_Firefox
|
||||||
@ -194,9 +222,9 @@ fi
|
|||||||
|
|
||||||
# ------------------------------------ user account creation
|
# ------------------------------------ user account creation
|
||||||
|
|
||||||
echo -e "[ ${GREEN}INFO${NC} ] Creating new user account. Please follow the
|
echo -e "[ ${GREEN}INFO${NC} ] Creating new user account. Please follow the instructions
|
||||||
instructions on screen, and remember to add yourself to the ${YELLOW}wheel${NC}
|
on screen, and remember to add yourself to the '${YELLOW}wheel video${NC}'
|
||||||
and ${YELLOW}video${NC} groups and give yourself a proper ${YELLOW}password${NC}!
|
groups and give yourself a proper ${YELLOW}password${NC}!
|
||||||
"
|
"
|
||||||
|
|
||||||
if adduser ; then
|
if adduser ; then
|
||||||
@ -210,6 +238,16 @@ fi
|
|||||||
|
|
||||||
# ------------------------------------ INSTALLATION
|
# ------------------------------------ INSTALLATION
|
||||||
|
|
||||||
|
# security patches
|
||||||
|
if [ "$FBSD_UPD" -eq 1 ] ; then
|
||||||
|
echo -e "[ ${GREEN}NOTE${NC} ] Applying latest FreeBSD security patches
|
||||||
|
"
|
||||||
|
freebsd-update fetch install
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo -e "[ ${YELLOW}NOTE${NC} ] Skipping FreeBSD security patches"
|
||||||
|
fi
|
||||||
|
|
||||||
# PKG
|
# PKG
|
||||||
if [ "$INST_PKG" -eq 1 ] ; then
|
if [ "$INST_PKG" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Bootstrapping PKG
|
echo -e "[ ${GREEN}NOTE${NC} ] Bootstrapping PKG
|
||||||
@ -232,9 +270,9 @@ fi
|
|||||||
if [ "$INST_XORG" -eq 1 ] ; then
|
if [ "$INST_XORG" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing XORG
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing XORG
|
||||||
"
|
"
|
||||||
echo "y" | pkg install xorg
|
pkg install -y xorg
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install urwfonts
|
pkg install -y urwfonts
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
fi
|
fi
|
||||||
@ -243,9 +281,9 @@ fi
|
|||||||
if [ "$INST_XFCE" -eq 1 ] ; then
|
if [ "$INST_XFCE" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing XFCE
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing XFCE
|
||||||
"
|
"
|
||||||
echo "y" | pkg install xfce
|
pkg install -y xfce
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install gdm
|
pkg install -y gdm
|
||||||
echo "
|
echo "
|
||||||
# ---- installDesktop script: XFCE installation
|
# ---- installDesktop script: XFCE installation
|
||||||
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
||||||
@ -261,9 +299,9 @@ fi
|
|||||||
if [ "$INST_GNOME" -eq 1 ] ; then
|
if [ "$INST_GNOME" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing GNOME"
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing GNOME"
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install gnome3
|
pkg install -y gnome3
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install gnome-tweak-tool
|
pkg install -y gnome-tweak-tool
|
||||||
echo "
|
echo "
|
||||||
# ---- installDesktop script: GNOME installation
|
# ---- installDesktop script: GNOME installation
|
||||||
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
||||||
@ -280,9 +318,9 @@ fi
|
|||||||
if [ "$INST_CINNAMON" -eq 1 ] ; then
|
if [ "$INST_CINNAMON" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing Cinnamon"
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing Cinnamon"
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install cinnamon
|
pkg install -y cinnamon
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install gdm
|
pkg install -y gdm
|
||||||
echo "
|
echo "
|
||||||
# ---- installDesktop script: Cinnamon installation
|
# ---- installDesktop script: Cinnamon installation
|
||||||
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
||||||
@ -299,7 +337,7 @@ fi
|
|||||||
if [ "$INST_KDE" -eq 1 ] ; then
|
if [ "$INST_KDE" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing KDE"
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing KDE"
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install kde
|
pkg install -y kde
|
||||||
echo "
|
echo "
|
||||||
# ---- installDesktop script: KDE installation
|
# ---- installDesktop script: KDE installation
|
||||||
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
proc /proc procfs rw 0 0" >> "/etc/fstab"
|
||||||
@ -315,7 +353,7 @@ fi
|
|||||||
if [ "$INST_Firefox" -eq 1 ] ; then
|
if [ "$INST_Firefox" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing Firefox Browser
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing Firefox Browser
|
||||||
"
|
"
|
||||||
echo "y" | pkg install firefox
|
pkg install -y firefox
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -323,7 +361,7 @@ fi
|
|||||||
if [ "$INST_Chromium" -eq 1 ] ; then
|
if [ "$INST_Chromium" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing Chromium Browser
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing Chromium Browser
|
||||||
"
|
"
|
||||||
echo "y" | pkg install chromium
|
pkg install -y chromium
|
||||||
echo "
|
echo "
|
||||||
# ---- installDesktop script: Chromium browser
|
# ---- installDesktop script: Chromium browser
|
||||||
kern.ipc.shm_allow_removed=1" >> "/etc/sysctl.conf"
|
kern.ipc.shm_allow_removed=1" >> "/etc/sysctl.conf"
|
||||||
@ -331,10 +369,10 @@ kern.ipc.shm_allow_removed=1" >> "/etc/sysctl.conf"
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# VLC
|
# VLC
|
||||||
if [ "$INST_VLC" -eq 1 ] ; then
|
if [ "$INST_VLC" -eq 1 ] && [ "$INST_KDE" -eq 0 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing VLC Media Player
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing VLC Media Player
|
||||||
"
|
"
|
||||||
echo "y" | pkg install vlc
|
pkg install -y vlc
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -342,7 +380,7 @@ fi
|
|||||||
if [ "$INST_Office" -eq 1 ] ; then
|
if [ "$INST_Office" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing LibreOffice
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing LibreOffice
|
||||||
"
|
"
|
||||||
echo "y" | pkg install libreoffice
|
pkg install -y libreoffice
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -350,7 +388,7 @@ fi
|
|||||||
if [ "$INST_CodeBlocks" -eq 1 ] ; then
|
if [ "$INST_CodeBlocks" -eq 1 ] ; then
|
||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing CodeBlocks IDE
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing CodeBlocks IDE
|
||||||
"
|
"
|
||||||
echo "y" | pkg install codeblocks
|
pkg install -y codeblocks
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -368,7 +406,7 @@ if [ "$INST_Linux" -eq 1 ] ; then
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
echo ""
|
echo ""
|
||||||
echo "y" | pkg install linux-c7
|
pkg install -y linux-c7
|
||||||
echo "
|
echo "
|
||||||
# ---- installDesktop script: LINUX compat
|
# ---- installDesktop script: LINUX compat
|
||||||
linux_enable=\"YES\"" >> "/etc/rc.conf"
|
linux_enable=\"YES\"" >> "/etc/rc.conf"
|
||||||
@ -381,19 +419,19 @@ fi
|
|||||||
echo -e "[ ${GREEN}NOTE${NC} ] Installing additional CLI tools
|
echo -e "[ ${GREEN}NOTE${NC} ] Installing additional CLI tools
|
||||||
|
|
||||||
----- NANO"
|
----- NANO"
|
||||||
echo "y" | pkg install nano
|
pkg install -y nano
|
||||||
echo "
|
echo "
|
||||||
----- VIM"
|
----- VIM"
|
||||||
echo "y" | pkg install vim
|
pkg install -y vim
|
||||||
echo "
|
echo "
|
||||||
----- UNAR"
|
----- UNAR"
|
||||||
echo "y" | pkg install unar
|
pkg install -y unar
|
||||||
echo "
|
echo "
|
||||||
----- SYSINFO"
|
----- SYSINFO"
|
||||||
echo "y" | pkg install sysinfo
|
pkg install -y sysinfo
|
||||||
echo "
|
echo "
|
||||||
----- HTOP"
|
----- HTOP"
|
||||||
echo "y" | pkg install htop
|
pkg install -y htop
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user