slackconf 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. #!/bin/bash
  2. #=============HEADER=============================================================|
  3. #AUTOR:
  4. # Jefferson Rocha <lrcjefferson@gmail.com>
  5. #
  6. #PROGRAMA:
  7. # Slack-Conf
  8. #
  9. #DESCRIÇÃO:
  10. # vai aqui o seu texto
  11. #
  12. #LICENÇA:
  13. #
  14. #CHANGELOG:
  15. #
  16. #NEWS:
  17. #================================================================================|
  18. # Váriaveis-----------------#
  19. program_name="Slackconf"
  20. version="1.0"
  21. msg="$program_name versão $version"
  22. user_root=$(echo $UID)
  23. version_slackware=$(cat /etc/slackware-version)
  24. verify=$(cat /etc/slackware-version | egrep -o [Ss]lackware)
  25. exe_ifconf=$(ifconfig | grep ^e. | cut -d ':' -f1)
  26. #----------------------------#
  27. # FUNÇÕES------------------#
  28. function others_options {
  29. case $? in
  30. 1) exit ;;
  31. 255) clear ; break ;;
  32. 2) ;; #Help
  33. esac
  34. }
  35. function sleeping {
  36. sleep 3s
  37. }
  38. # Em caso de erro geral!
  39. function ERROR {
  40. dialog --stdout \
  41. --title "Erro!" \
  42. --backtitle "$msg" \
  43. --msgbox "Houve um erro!" 0 0
  44. }
  45. #---------------------------#
  46. # É root?
  47. [[ $user_root -ne 0 ]] && \
  48. dialog --stdout \
  49. --title "ERRO!" \
  50. --backtitle "$msg" \
  51. --msgbox "Precisa estar logado como root!" 5 40 && exit
  52. # Conferindo se a distro é Slackware, se não for tchau!
  53. if [[ ! $verify =~ [Ss]lackwa.e ]]; then
  54. dialog --stdout \
  55. --title "ERRO!" \
  56. --backtitle "$msg" \
  57. --msgbox "Roda somente nas versões do Slackware." 5 45 && exit
  58. fi
  59. # Laço para o menu
  60. while : ; do
  61. menu_principal=$(
  62. dialog --stdout \
  63. --title "Configurações do $version_slackware" \
  64. --backtitle "$msg" \
  65. --help-button \
  66. --ok-label "Executar" \
  67. --cancel-label "Cancelar" \
  68. --menu "Escolha as opções!" \
  69. 0 0 0 \
  70. Teclado "Configurar Abnt2" \
  71. Rede "Configurar Rede $exe_ifconf" \
  72. Hora "Configurar Hora" \
  73. Mirrors "Configurar Mirrors"
  74. )
  75. # Se apertou 'cancelar' sai!
  76. if [[ $? -eq 1 ]]; then
  77. clear ; exit 0
  78. fi
  79. case $menu_principal in
  80. Teclado)
  81. setxkbmap -model abnt2 -layout br
  82. if [[ $? -ne 0 ]]; then
  83. ERROR
  84. else
  85. dialog --stdout \
  86. --title "Configuração teclado" \
  87. --backtitle "$program_name versão $version" \
  88. --infobox "O teclado foi Configurado !!!" 0 0 ;sleeping
  89. fi ;;
  90. Rede)
  91. dhclient $exe_ifconf
  92. if [[ $? -ne 0 ]]; then
  93. ERROR
  94. else
  95. dialog --stdout \
  96. --backtitle "$program_name versão $version" \
  97. --title "Configuração Rede" \
  98. --infobox "A rede foi configurada !!!" 0 0 ; sleeping
  99. fi ;;
  100. Hora)
  101. dialog --stdout \
  102. --title "Configuração Horário" \
  103. --backtitle "$program_name versão $version" \
  104. --infobox "Configurando !!!" 0 0
  105. ntpdate ntp.br
  106. if [[ $? -ne 0 ]]; then
  107. ERROR
  108. else
  109. dialog --stdout \
  110. --title "Configuração Horário" \
  111. --backtitle "$msg" \
  112. --infobox "A configuração foi Concluída !!!" 0 0 ;sleeping
  113. fi ;;
  114. Mirrors)
  115. option_mirrors=$(dialog --stdout \
  116. --title "Configuração Mirrors" \
  117. --backtitle "$program_name versão $version" \
  118. --menu "Escolha:" \
  119. 0 0 0 \
  120. Current "Versão mais recente dos pacotes" \
  121. Stable "Versão totalmente estável" )
  122. case $option_mirrors in
  123. Current)
  124. dialog --stdout \
  125. --title "AVISO!" \
  126. --backtitle "$program_name versão $version" \
  127. --yesno "\nVocê está preste a definir o mirror para Current, Continuar?\n\n" 0 0
  128. if [[ $? -ne 0 ]]; then
  129. ERROR
  130. else
  131. sed -i 's,# ftp://ftp.slackware-brasil.com.br/slackware64-current, ftp://ftp.slackware-brasil.com.br/slackware64-current,' /etc/slackpkg/mirrors
  132. dialog --stdout \
  133. --title "Concluído" \
  134. --backtitle "$program_name versão $version" \
  135. --infobox "Mirror Atualizado para Current !!" 0 0 ;sleeping
  136. fi
  137. esac
  138. ;;
  139. esac # Case options_mirrors
  140. done # While menu principal