Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux_faq:ubuntu_setup_script [2017/06/19 14:02] – admin | linux_faq:ubuntu_setup_script [2021/03/29 18:44] (current) – admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | В скрипте в секции **Set needed Variables** надо задать только имя хоста. | ||
+ | Остальные параметры (**DNS**, **domain-name**, | ||
+ | |||
+ | Запускать так: **sudo ./ | ||
+ | Сделать: | ||
+ | |||
+ | 3. http:// | ||
+ | I had the same problem/ | ||
+ | This works for me, at least on Debian Squeeze, Ubuntu Karmic, and Ubuntu Lucid. | ||
+ | This was announced in / | ||
+ | Hope this helps. \\ | ||
+ | |||
+ | |||
+ | < | ||
+ | #! /bin/bash | ||
+ | |||
+ | #################################### | ||
+ | #### Set needed Variables | ||
+ | #################################### | ||
+ | CONNECTION=`ip link | grep 'state UP' | awk '{ print $2 }' | sed ' | ||
+ | NEW_DOMAINNAME=`grep ' | ||
+ | DNS_SERVERS=`grep ' | ||
+ | DNS_STATIC_SEARCHLIST=" | ||
+ | DOMAIN_CONTROLLERS=`host -t srv _ldap._tcp.$NEW_DOMAINNAME | awk {' | ||
+ | DEFAULT_REALM=" | ||
+ | NETBIOS_DOMAIN_NAME=$(echo $DEFAULT_REALM | sed '1,$ s/ | ||
+ | CA_CERT_PREFIX=" | ||
+ | |||
+ | # check root | ||
+ | if [ "$(id -u)" != " | ||
+ | echo "You do not have the appropriate privileges..." | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | ############################################## | ||
+ | ### Disable IPv6 | ||
+ | ############################################## | ||
+ | cp / | ||
+ | sed -i '/ | ||
+ | echo ' | ||
+ | echo ' | ||
+ | echo ' | ||
+ | sysctl -p | ||
+ | |||
+ | ############################################## | ||
+ | ### Setting up NameServers | ||
+ | ############################################## | ||
+ | echo " | ||
+ | echo -ne > / | ||
+ | for nameserver in $DNS_SERVERS; | ||
+ | resolvconf -u | ||
+ | |||
+ | ########################################### | ||
+ | ### Add Certificates | ||
+ | ########################################### | ||
+ | openssl s_client -showcerts -connect ya.ru:443 </ | ||
+ | csplit -k -f $CA_CERT_PREFIX ./chain.pem '/END CERTIFICATE/ | ||
+ | find ./ -iname $CA_CERT_PREFIX\* -type f -exec grep -F -L 'END CERTIFICATE' | ||
+ | for file in " | ||
+ | for file in / | ||
+ | c_rehash / | ||
+ | c_rehash / | ||
+ | update-ca-certificates | ||
+ | rm -f ./chain.pem | ||
+ | |||
+ | #################################### | ||
+ | #### Setup Software | ||
+ | #################################### | ||
+ | #echo "deb http:// | ||
+ | #apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8AC93F7A | ||
+ | #echo "deb https:// | ||
+ | #apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE49F8C5 | ||
+ | #echo "deb [arch=amd64] http:// | ||
+ | #curl -k https:// | ||
+ | |||
+ | apt-get update | ||
+ | apt-get -y upgrade | ||
+ | #apt-get -y install kubuntu-full | ||
+ | apt-get -y install kubuntu-desktop | ||
+ | apt-get -y install xorg | ||
+ | apt-get -y install nano curl openssl libnss3-tools \ | ||
+ | chrony krb5-config krb5-locales krb5-user libpam-krb5 \ | ||
+ | samba smbclient winbind libpam-winbind libnss-winbind gss-ntlmssp \ | ||
+ | ldap-utils cifs-utils libsasl2-modules-gssapi-mit \ | ||
+ | libreoffice-l10n-ru aspell-ru language-pack-gnome-ru language-pack-gnome-ru-base \ | ||
+ | language-pack-ru language-pack-ru-base language-pack-kde-ru \ | ||
+ | evolution evolution-ews evolution-plugins desktop-file-utils \ | ||
+ | xvfb myspell-ru build-essential libc6-i386 | ||
+ | |||
+ | apt-get -y --allow-unauthenticated install flashplugin-installer yandex-browser-beta | ||
+ | #apt-get -y install sky | ||
+ | #apt-get install clamav tightvncserver | ||
+ | ### http:// | ||
+ | curl -o / | ||
+ | http:// | ||
+ | && / | ||
+ | / | ||
+ | && rm / | ||
+ | |||
+ | apt-get purge geoclue-2.0 | ||
+ | |||
+ | ##################################################################### | ||
+ | ### Download and install Citrix VDA | ||
+ | ##################################################################### | ||
+ | curl -o ./VDA.deb http:// | ||
+ | |||
+ | ############################################### | ||
+ | ### Setup Services | ||
+ | ############################################### | ||
+ | systemctl enable ssh | ||
+ | systemctl enable nmbd.service | ||
+ | systemctl enable samba.service | ||
+ | systemctl enable winbind.service | ||
+ | ############################################# | ||
+ | #### Setting sudo | ||
+ | ############################################# | ||
+ | cat <<EOF > / | ||
+ | localuser | ||
+ | %$NETBIOS_DOMAIN_NAME\\\\domain\ users ALL=(ALL) ALL | ||
+ | %domain\ users ALL=(ALL) ALL | ||
+ | %$NETBIOS_DOMAIN_NAME\\\\domain\ admins | ||
+ | %domain\ admins | ||
+ | EOF | ||
+ | |||
+ | sed -i "/ | ||
+ | sed -i "/ | ||
+ | sed -i "/ | ||
+ | |||
+ | ############################################################ | ||
+ | #### Suppress PolKit prompt messages | ||
+ | ############################################################ | ||
+ | #cat <<EOF > / | ||
+ | #[Do not prompt users with any messages] | ||
+ | # | ||
+ | #Action=* | ||
+ | # | ||
+ | # | ||
+ | #EOF | ||
+ | |||
+ | cat <<EOF > / | ||
+ | [Disable PowerOff, Reboot, Hibernate, Suspend] | ||
+ | Identity=unix-user: | ||
+ | Action=org.freedesktop.login1.power-off; | ||
+ | ResultAny=no | ||
+ | ResultInactive=no | ||
+ | ResultActive=no | ||
+ | EOF | ||
+ | |||
+ | cat <<EOF > / | ||
+ | [Disable PowerOff, Reboot, Hibernate, Suspend] | ||
+ | Identity=unix-user: | ||
+ | Action=org.freedesktop.NetworkManager.* | ||
+ | ResultAny=no | ||
+ | ResultInactive=no | ||
+ | ResultActive=no | ||
+ | EOF | ||
+ | |||
+ | ######################################### | ||
+ | ### Setup NTP servers | ||
+ | ######################################### | ||
+ | sed -i "/ | ||
+ | sed -i "/ | ||
+ | |||
+ | for dc in $DOMAIN_CONTROLLERS; | ||
+ | do | ||
+ | echo " | ||
+ | done | ||
+ | |||
+ | ######################################### | ||
+ | ### Setup Kerberos / | ||
+ | ######################################### | ||
+ | LIBDEFAULTS=$(cat <<EOF | ||
+ | [libdefaults] | ||
+ | dns_lookup_kdc = true | ||
+ | dns_lookup_realm = false | ||
+ | default_realm = $DEFAULT_REALM | ||
+ | clockskew = 300 | ||
+ | default_ccache_name = FILE:/ | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | REALMS_KDC=$(for i in $DOMAIN_CONTROLLERS; | ||
+ | |||
+ | REALMS=$(cat <<EOF | ||
+ | |||
+ | [realms] | ||
+ | $DEFAULT_REALM = { | ||
+ | $REALMS_KDC | ||
+ | default_domain = $DEFAULT_REALM | ||
+ | } | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | DOMAIN_REALM=$(cat <<EOF | ||
+ | |||
+ | [domain_realm] | ||
+ | .$NEW_DOMAINNAME = $DEFAULT_REALM | ||
+ | $NEW_DOMAINNAME = $DEFAULT_REALM | ||
+ | |||
+ | [appdefaults] | ||
+ | pam = { | ||
+ | ticket_lifetime = 1d | ||
+ | renew_lifetime = 1d | ||
+ | forwardable = true | ||
+ | proxiable = false | ||
+ | minimum_uid = 1 | ||
+ | } | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | ######################################## | ||
+ | #### Configure / | ||
+ | ######################################## | ||
+ | SMB_CONF=$(cat <<EOF | ||
+ | # smb.conf is the main Samba configuration file. You find a full commented | ||
+ | # version at / | ||
+ | # samba-doc package is installed. | ||
+ | [global] | ||
+ | workgroup = $NETBIOS_DOMAIN_NAME | ||
+ | passdb backend = tdbsam | ||
+ | map to guest = Bad User | ||
+ | include = / | ||
+ | usershare allow guests = No | ||
+ | idmap gid = 10000-20000 | ||
+ | idmap uid = 10000-20000 | ||
+ | realm = $DEFAULT_REALM | ||
+ | security = ADS | ||
+ | template homedir = /home/%D/%U | ||
+ | template shell = /bin/bash | ||
+ | usershare max shares = 100 | ||
+ | encrypt passwords = yes | ||
+ | kerberos method = secrets and keytab | ||
+ | winbind nested groups = yes | ||
+ | winbind offline logon = yes | ||
+ | winbind refresh tickets = yes | ||
+ | winbind use default domain = yes | ||
+ | dns proxy = no | ||
+ | domain master = no | ||
+ | local master = no | ||
+ | preferred master = no | ||
+ | load printers = no | ||
+ | show add printer wizard = no | ||
+ | printcap name = /dev/null | ||
+ | disable spoolss = yes | ||
+ | client use spnego = yes | ||
+ | client ntlmv2 auth = yes | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | mv / | ||
+ | echo " | ||
+ | |||
+ | ######################################## | ||
+ | #### Configure / | ||
+ | ######################################## | ||
+ | sed -i '/ | ||
+ | sed -i '/ | ||
+ | sed -i '/ | ||
+ | |||
+ | ########################################## | ||
+ | #### Configure PAM | ||
+ | ########################################## | ||
+ | sed -i "/ | ||
+ | sed -i '/ | ||
+ | pam-auth-update --package | ||
+ | ################################################################ | ||
+ | ### Fix / | ||
+ | ### https:// | ||
+ | ################################################################ | ||
+ | sed -i '/ | ||
+ | |||
+ | ################################################# | ||
+ | ### Disable autologin | ||
+ | ################################################# | ||
+ | #sed -i "/ | ||
+ | |||
+ | ##################################################### | ||
+ | #### Set SDDM Theme to allow input Username | ||
+ | ##################################################### | ||
+ | cp / | ||
+ | sed -i "/ | ||
+ | |||
+ | ####################################################### | ||
+ | #### Import CA Certificates into Browsers | ||
+ | # | ||
+ | ####################################################### | ||
+ | HOMEDIR=$(getent passwd $SUDO_USER | cut -d: -f6) | ||
+ | apt-get -y install libnss3-tools | ||
+ | rm -Rf $HOMEDIR/ | ||
+ | rm -Rf $HOMEDIR/ | ||
+ | |||
+ | ######################################################## | ||
+ | #### Create and fill cert8.db in Firefox Profile | ||
+ | ######################################################## | ||
+ | killall firefox | ||
+ | sudo -u $SUDO_USER xvfb-run --server-args=" | ||
+ | FirefoxProfileDir=$(find $HOMEDIR'/ | ||
+ | for certificateFile in / | ||
+ | do | ||
+ | | ||
+ | done | ||
+ | chmod -R a+rw $HOMEDIR/ | ||
+ | |||
+ | ################################################################################ | ||
+ | #### Import certificates into nssdb for Chromium engine | ||
+ | ################################################################################ | ||
+ | mkdir --parents $HOMEDIR/ | ||
+ | echo 1q2w3e4r | sudo tee $HOMEDIR/ | ||
+ | certutil -N -f $HOMEDIR/ | ||
+ | for certificateFile in / | ||
+ | do | ||
+ | | ||
+ | done | ||
+ | chmod -R a+rw $HOMEDIR/ | ||
+ | |||
+ | ######################################################### | ||
+ | ### Copy databases with imported certs to default profile | ||
+ | ######################################################### | ||
+ | rm -Rf / | ||
+ | rm -Rf / | ||
+ | mkdir --parents / | ||
+ | cp -Rf $HOMEDIR/ | ||
+ | mkdir --parents / | ||
+ | cp -Rf $HOMEDIR/ | ||
+ | |||
+ | ############################################################ | ||
+ | ### Setup Evolution Mail Client | ||
+ | ############################################################ | ||
+ | ### Force Evolution Mail to be online | ||
+ | ############################################################ | ||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | #!/bin/bash | ||
+ | export LANG=ru_RU.utf8 | ||
+ | export LANGUAGE=ru_RU | ||
+ | export GIO_USE_NETWORK_MONITOR=base | ||
+ | EOF | ||
+ | ############################################################## | ||
+ | ### Create Evolution EWS Autodiscovery Script | ||
+ | ############################################################## | ||
+ | mkdir --parents / | ||
+ | cat << | ||
+ | #! /bin/bash | ||
+ | |||
+ | export GIO_USE_NETWORK_MONITOR=base | ||
+ | DOMAINNAME=\`hostname -d\` | ||
+ | ################################################## | ||
+ | ### Check if Evolution EWS source file exist | ||
+ | ################################################## | ||
+ | if [ -f ~/ | ||
+ | echo | ||
+ | else | ||
+ | ########################################## | ||
+ | ## Check if connected to AD | ||
+ | ########################################## | ||
+ | if ! wbinfo -P; then | ||
+ | echo " | ||
+ | else | ||
+ | echo " | ||
+ | |||
+ | CURRENT_DC=\`wbinfo -P | awk ' | ||
+ | FULL_NAME=\`wbinfo -i \$USER | awk -F ":" | ||
+ | BASEDN=\`echo \$CURRENT_DC | sed s/ | ||
+ | MAIL=\`ldapsearch -h \$CURRENT_DC -b " | ||
+ | |||
+ | ############################################################################################### | ||
+ | ### MS Exchange autodiscovery | ||
+ | #### https:// | ||
+ | #### http:// | ||
+ | #### Joined AD with samba/ | ||
+ | ############################################################################################### | ||
+ | AUTOD_URL=" | ||
+ | REQUEST=\$(cat <<EOF | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | bash -c "curl -k -d ' | ||
+ | OABUrl=\$(cat ~/ | ||
+ | EwsUrl=\$(cat ~/ | ||
+ | EwsHost=\$(echo \$EwsUrl | awk -F '/' | ||
+ | rm ~/ | ||
+ | |||
+ | echo CURRENT_DC - \$CURRENT_DC > ~/ | ||
+ | echo FULL_NAME - \$FULL_NAME >> ~/ | ||
+ | echo BASEDN - \$BASEDN >> ~/ | ||
+ | echo MAIL - \$MAIL >> ~/ | ||
+ | echo DOMAINNAME - \$DOMAINNAME >> ~/ | ||
+ | echo OABUrl - \$OABUrl >> ~/ | ||
+ | echo EwsUrl - \$EwsUrl >> ~/ | ||
+ | echo EwsHost - \$EwsHost >> ~/ | ||
+ | ################################################################ | ||
+ | ### Check URLs format | ||
+ | ################################################################ | ||
+ | echo \$OABUrl | grep -E ' | ||
+ | OAB_URL_Check=\$? | ||
+ | echo \$EwsUrl | grep -E ' | ||
+ | EWS_URL_Check=\$? | ||
+ | |||
+ | if [ \$OAB_URL_Check != 0 ] || [ \$EWS_URL_Check != 0 ]; then | ||
+ | echo "OAB and EWS URLs check failed... Exit..." | ||
+ | else | ||
+ | echo "OAB and EWS URLs check OK" >> ~/ | ||
+ | |||
+ | ###################################################################### | ||
+ | ### CleaningUp and creating evolution source files | ||
+ | ###################################################################### | ||
+ | killall evolution-source-registry | ||
+ | rm -Rf ~/ | ||
+ | mkdir --parents ~/ | ||
+ | |||
+ | ##################################################################################### | ||
+ | cat <<EOF > ~/ | ||
+ | [Data Source] | ||
+ | DisplayName=\$MAIL | ||
+ | Enabled=true | ||
+ | Parent= | ||
+ | |||
+ | [Offline] | ||
+ | StaySynchronized=true | ||
+ | |||
+ | [Authentication] | ||
+ | Host=\$EwsHost | ||
+ | Method=GSSAPI | ||
+ | Port=443 | ||
+ | ProxyUid=system-proxy | ||
+ | RememberPassword=true | ||
+ | User=\$USER | ||
+ | CredentialName= | ||
+ | |||
+ | [Collection] | ||
+ | BackendName=ews | ||
+ | CalendarEnabled=true | ||
+ | ContactsEnabled=true | ||
+ | Identity=\$USER | ||
+ | MailEnabled=true | ||
+ | |||
+ | [Security] | ||
+ | Method=none | ||
+ | |||
+ | [Ews Backend] | ||
+ | FilterInbox=true | ||
+ | StoreChangesInterval=3 | ||
+ | CheckAll=true | ||
+ | ListenNotifications=true | ||
+ | Email=\$MAIL | ||
+ | FilterJunk=true | ||
+ | FilterJunkInbox=false | ||
+ | FoldersInitialized=true | ||
+ | GalUid=ews.\$USER.\$DOMAINNAME | ||
+ | Hosturl=\$EwsUrl | ||
+ | Oaburl=\$OABUrl | ||
+ | OabOffline=true | ||
+ | OalSelected= | ||
+ | Timeout=300 | ||
+ | UseImpersonation=false | ||
+ | ImpersonateUser= | ||
+ | EOF | ||
+ | |||
+ | ###################################################################### | ||
+ | cat <<EOF > ~/ | ||
+ | [Data Source] | ||
+ | DisplayName=\$MAIL | ||
+ | Enabled=true | ||
+ | Parent=ews.\$USER.\$DOMAINNAME.1 | ||
+ | |||
+ | [Mail Composition] | ||
+ | Bcc= | ||
+ | Cc= | ||
+ | DraftsFolder=folder:// | ||
+ | SignImip=true | ||
+ | TemplatesFolder=folder:// | ||
+ | |||
+ | [Mail Identity] | ||
+ | Address=\$MAIL | ||
+ | Name=\$FULL_NAME | ||
+ | Organization= | ||
+ | ReplyTo= | ||
+ | SignatureUid=none | ||
+ | |||
+ | [Mail Submission] | ||
+ | SentFolder=folder:// | ||
+ | TransportUid=ews.\$USER.\$DOMAINNAME.13 | ||
+ | RepliesToOriginFolder=false | ||
+ | EOF | ||
+ | |||
+ | ###################################################################### | ||
+ | cat <<EOF > ~/ | ||
+ | [Data Source] | ||
+ | DisplayName=\$MAIL | ||
+ | Enabled=true | ||
+ | Parent=ews.\$USER.\$DOMAINNAME.1 | ||
+ | |||
+ | [Refresh] | ||
+ | Enabled=true | ||
+ | IntervalMinutes=3 | ||
+ | |||
+ | [Mail Account] | ||
+ | BackendName=ews | ||
+ | IdentityUid=ews.\$USER.\$DOMAINNAME | ||
+ | ArchiveFolder= | ||
+ | EOF | ||
+ | |||
+ | ############################################################################### | ||
+ | cat <<EOF > ~/ | ||
+ | [Data Source] | ||
+ | DisplayName=\$MAIL | ||
+ | Enabled=true | ||
+ | Parent=ews.\$USER.\$DOMAINNAME.1 | ||
+ | |||
+ | [Mail Transport] | ||
+ | BackendName=ews | ||
+ | EOF | ||
+ | |||
+ | ################################################################################ | ||
+ | cat <<EOF > ~/ | ||
+ | # Special built-in mail store. | ||
+ | [Data Source] | ||
+ | DisplayName=On This Computer | ||
+ | Enabled=false | ||
+ | Parent= | ||
+ | |||
+ | [Mail Account] | ||
+ | BackendName=maildir | ||
+ | IdentityUid=self | ||
+ | ArchiveFolder= | ||
+ | |||
+ | [Maildir Backend] | ||
+ | FilterInbox=true | ||
+ | Path=\$HOME/ | ||
+ | EOF | ||
+ | |||
+ | ######################################################################## | ||
+ | cat <<EOF > ~/ | ||
+ | # Special built-in mail store. | ||
+ | |||
+ | [Data Source] | ||
+ | DisplayName=Search Folders | ||
+ | Enabled=false | ||
+ | Parent= | ||
+ | |||
+ | [Mail Account] | ||
+ | BackendName=vfolder | ||
+ | IdentityUid=self | ||
+ | ArchiveFolder= | ||
+ | |||
+ | [Vfolder Backend] | ||
+ | FilterInbox=true | ||
+ | EOF | ||
+ | |||
+ | ########################################################################## | ||
+ | mkdir --parents ~/ | ||
+ | cat <<EOF > ~/ | ||
+ | [GlobalFolder] | ||
+ | GroupByThreads=false | ||
+ | PreviewVisible=true | ||
+ | |||
+ | [Store ews.\$USER.\$DOMAINNAME.3] | ||
+ | Expanded=true | ||
+ | |||
+ | [Search Bar] | ||
+ | SearchScope=mail-scope-current-folder | ||
+ | SearchOption=mail-search-subject-or-addresses-contain | ||
+ | |||
+ | [Folder Tree] | ||
+ | Selected=folder:// | ||
+ | |||
+ | [Folder folder:// | ||
+ | GroupByThreads=false | ||
+ | PreviewVisible=true | ||
+ | Expanded=true | ||
+ | |||
+ | EOF | ||
+ | |||
+ | fi | ||
+ | fi | ||
+ | fi | ||
+ | ENDOFSCRIPT | ||
+ | |||
+ | chmod +x / | ||
+ | |||
+ | ############################################################# | ||
+ | ### Disable Screen Locker By Default | ||
+ | ############################################################# | ||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | [Daemon] | ||
+ | Autolock=false | ||
+ | EOF | ||
+ | |||
+ | ######################################################### | ||
+ | ### Disable KDEWallet By Default | ||
+ | ######################################################### | ||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | [Wallet] | ||
+ | Enabled=false | ||
+ | EOF | ||
+ | |||
+ | ############################################################ | ||
+ | ### Enable Autostart apps | ||
+ | ############################################################ | ||
+ | mkdir --parents / | ||
+ | cp / | ||
+ | |||
+ | ########################################################## | ||
+ | ###Change Default Desktop View to Folder | ||
+ | ########################################################## | ||
+ | cp / | ||
+ | sed -i '/ | ||
+ | |||
+ | ############################################################# | ||
+ | ### Disable Desktop Effects By Default (Compositor) | ||
+ | ############################################################# | ||
+ | cat <<EOF > / | ||
+ | [Compositing] | ||
+ | Enabled=false | ||
+ | EOF | ||
+ | |||
+ | ######################################################### | ||
+ | ### Create Default Shortcuts | ||
+ | ######################################################### | ||
+ | mkdir --parents / | ||
+ | cp / | ||
+ | cp / | ||
+ | cp / | ||
+ | cp / | ||
+ | cp / | ||
+ | cp / | ||
+ | cp / | ||
+ | |||
+ | chmod +x / | ||
+ | |||
+ | ############################################################################### | ||
+ | ### Modifying KDE default panel settings | ||
+ | ### https:// | ||
+ | ### http:// | ||
+ | ############################################################################## | ||
+ | cp / | ||
+ | ######################################################### | ||
+ | #### Change kickoff menu to kicker by default for new users | ||
+ | #### org.kde.plasma.kickoff -> org.kde.plasma.kicker | ||
+ | ######################################################### | ||
+ | sed -i ' | ||
+ | ########################################################################### | ||
+ | #### Add quick launchers | ||
+ | ############################################################################ | ||
+ | QUICKLAUNCHERS=$(cat <<EOF | ||
+ | |||
+ | //Add QuickLaunchers | ||
+ | var quicklaunch = panel.addWidget(" | ||
+ | var qlurls = [" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ]; | ||
+ | quicklaunch.currentConfigGroup = [" | ||
+ | quicklaunch.writeConfig(" | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | grep -q "//Add QuickLaunchers" | ||
+ | [ $? -ne 0 ] && while read line | ||
+ | do | ||
+ | echo " | ||
+ | echo " | ||
+ | [ $? -eq 0 ] && echo " | ||
+ | done < / | ||
+ | |||
+ | mv / | ||
+ | |||
+ | ########################################################################################### | ||
+ | ### Enable Russian Locale | ||
+ | ########################################################################################### | ||
+ | locale-gen ru_RU.UTF-8 | ||
+ | update-locale LANG=" | ||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | # Generated script, do not edit | ||
+ | # Exports language-format specific env vars from startkde. | ||
+ | # This script has been generated from kcmshell5 formats. | ||
+ | # It will automatically be overwritten from there. | ||
+ | export LANG=cu_RU.UTF-8 | ||
+ | export LANGUAGE=ru | ||
+ | EOF | ||
+ | |||
+ | cat <<EOF > / | ||
+ | [Formats] | ||
+ | LANG=cu_RU.UTF-8 | ||
+ | |||
+ | [Translations] | ||
+ | LANGUAGE=ru | ||
+ | EOF | ||
+ | |||
+ | cat <<EOF > / | ||
+ | [Translations] | ||
+ | LANGUAGE=ru | ||
+ | EOF | ||
+ | |||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | [General] | ||
+ | autodetectLanguage=true | ||
+ | backgroundCheckerEnabled=true | ||
+ | checkUppercase=true | ||
+ | checkerEnabledByDefault=false | ||
+ | defaultClient= | ||
+ | defaultLanguage=ru_RU | ||
+ | ignore_ru_RU=Amarok, | ||
+ | skipRunTogether=true | ||
+ | EOF | ||
+ | |||
+ | cat <<EOF > / | ||
+ | [Keyboard] | ||
+ | KeyboardRepeating=0 | ||
+ | NumLock=2 | ||
+ | RepeatDelay=600 | ||
+ | RepeatRate=25 | ||
+ | EOF | ||
+ | |||
+ | cat <<EOF > / | ||
+ | [Layout] | ||
+ | DisplayNames=, | ||
+ | LayoutList=ru, | ||
+ | LayoutLoopCount=-1 | ||
+ | Model=pc101 | ||
+ | Options=grp: | ||
+ | ResetOldOptions=true | ||
+ | ShowFlag=false | ||
+ | ShowLabel=true | ||
+ | ShowLayoutIndicator=true | ||
+ | ShowSingle=false | ||
+ | SwitchMode=Global | ||
+ | Use=true | ||
+ | EOF | ||
+ | |||
+ | ############################################################ | ||
+ | ### Export Locale Variables | ||
+ | ############################################################ | ||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | #!/bin/bash | ||
+ | export LANG=ru_RU.utf8 | ||
+ | export LANGUAGE=ru_RU | ||
+ | EOF | ||
+ | |||
+ | ########################################################### | ||
+ | ### Set MIME types applications | ||
+ | ########################################################### | ||
+ | xdg-settings set default-url-scheme-handler yandex-browser-beta.desktop | ||
+ | xdg-settings set default-url-scheme-handler yandex-browser-beta.desktop | ||
+ | |||
+ | #cat <<EOF > / | ||
+ | #[Default Applications] | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | #EOF | ||
+ | |||
+ | ####################################################################################### | ||
+ | ### Setup LibreOffice Locale | ||
+ | ####################################################################################### | ||
+ | mkdir --parents / | ||
+ | cat <<EOF > / | ||
+ | <?xml version=" | ||
+ | < | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | <item oor: | ||
+ | </ | ||
+ | EOF | ||
+ | |||
+ | #################################################################### | ||
+ | #### Install Kaspersky | ||
+ | #################################################################### | ||
+ | ADDONSDIR="/ | ||
+ | mkdir --parents $ADDONSDIR | ||
+ | curl http:// | ||
+ | apt-get -y install libc6-i386 build-essential | ||
+ | dpkg -i --force-architecture $ADDONSDIR/ | ||
+ | |||
+ | ### | ||
+ | sed -i 's/ | PT_PTRACE_CAP//' | ||
+ | / | ||
+ | |||
+ | ### i_mutex_fix | ||
+ | sed -i ' | ||
+ | sed -i ' | ||
+ | |||
+ | / | ||
+ | / | ||
+ | service kav4fs-wmconsole restart | ||
+ | |||
+ | reboot | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Join AD & Setup VDA ====== | ||
+ | < | ||
+ | #! /bin/bash | ||
+ | |||
+ | #################################### | ||
+ | #### Set needed Variables | ||
+ | #################################### | ||
+ | NEW_HOSTNAME=$1 | ||
+ | CONNECTION=`ip link | grep 'state UP' | awk '{ print $2 }' | sed ' | ||
+ | NEW_DOMAINNAME=`grep ' | ||
+ | |||
+ | # check root | ||
+ | if [ "$(id -u)" != " | ||
+ | echo "You do not have the appropriate privileges..." | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # check hostname $1 | ||
+ | if [[ -z " | ||
+ | echo " | ||
+ | echo "Try to run: ./ | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | ############################################### | ||
+ | ### Setting HOSTNAME, DOMAINNAME | ||
+ | ############################################### | ||
+ | sed -i '/ | ||
+ | echo " | ||
+ | echo " | ||
+ | hostname $NEW_HOSTNAME | ||
+ | domainname $NEW_DOMAINNAME | ||
+ | echo $NEW_HOSTNAME.$NEW_DOMAINNAME | sudo tee / | ||
+ | echo $NEW_HOSTNAME.$NEW_DOMAINNAME | sudo tee / | ||
+ | |||
+ | net ads join -U ADDSIGMACA | ||
+ | |||
+ | / | ||
+ | CTX_XDL_SUPPORT_DDC_AS_CNAME=N \ | ||
+ | CTX_XDL_DDC_LIST=" | ||
+ | CTX_XDL_VDA_PORT=80 \ | ||
+ | CTX_XDL_REGISTER_SERVICE=Y \ | ||
+ | CTX_XDL_ADD_FIREWALL_RULES=Y \ | ||
+ | CTX_XDL_AD_INTEGRATION=1 \ | ||
+ | CTX_XDL_HDX_3D_PRO=N \ | ||
+ | CTX_XDL_VDI_MODE=Y \ | ||
+ | CTX_XDL_SITE_NAME='< | ||
+ | CTX_XDL_LDAP_LIST='< | ||
+ | CTX_XDL_SEARCH_BASE='< | ||
+ | CTX_XDL_START_SERVICE=Y \ | ||
+ | / | ||
+ | |||
+ | sleep 10 | ||
+ | reboot | ||
+ | </ | ||
+ | |||
+ | ====== Join multiple VMs to AD ====== | ||
+ | < | ||
+ | #! /bin/bash | ||
+ | vms_ip=$(cat <<EOF | ||
+ | 10.38.246.47 | ||
+ | 10.38.247.23 | ||
+ | 10.38.246.46 | ||
+ | 10.38.247.22 | ||
+ | 10.38.246.45 | ||
+ | 10.38.246.44 | ||
+ | 10.38.246.43 | ||
+ | 10.38.246.42 | ||
+ | 10.38.246.41 | ||
+ | EOF | ||
+ | ) | ||
+ | |||
+ | i=30 | ||
+ | for ip_addr in $vms_ip; do | ||
+ | echo 'IP ' | ||
+ | ssh -o StrictHostKeyChecking=no -t localuser@$ip_addr "sudo ~/ | ||
+ | ((i-=1)) | ||
+ | done | ||
+ | </ | ||