Скрипт "Обновление"

Модератор: adventurer

Ответить
Аватара пользователя

Автор темы
aleks@
Сообщения: 435
Зарегистрирован: 03 дек 2013, 17:48

Скрипт "Обновление"

#1

Сообщение aleks@ » 12 сен 2018, 13:35

Привет!
Хочу сделать иконку для запуска в терминале команды

Код: Выделить всё

sudo apt-get update
sudo apt-get upgrade
Что делал.

Скрипт в домашней папке update.sh:

Код: Выделить всё

#!/bin/bash
#Обновления системы в терминале
sudo apt update
sudo apt upgrade -y
Дал права на исполнение:
sudo chmod +x update.sh

Скрипт открывается в терминале:
sh update.sh

Работает, делает обновление.

Создал для скрипта update.sh иконку запуска:

Код: Выделить всё

[Desktop Entry]
Name=Обновление системы
Exec=sh /home/user/update.sh
Terminal=false
Type=Application
Icon=/home/user/.icons/update.png
NoDisplay=false
Которая не работает, пишет:

Код: Выделить всё

Не удалось сменить каталог на "" (нет такого файла или каталога)
чего не хватает? что сделано не так?

менял Terminal=false на true - не работает.
Примечание от модератора:
Чуть поправил сообщение. У нас не даром на форуме предусмотрены теги для добавления кода. Без них подобные сообщения превращаются в нечитаемую кашу.
zhart

Аватара пользователя

Автор темы
aleks@
Сообщения: 435
Зарегистрирован: 03 дек 2013, 17:48

Скрипт "Обновление"

#2

Сообщение aleks@ » 12 сен 2018, 20:19

Попробовал так:

Код: Выделить всё

 [Desktop Entry]
Name=Обновление системы
Exec=lxterminal -e sh /home/user/update.sh
Terminal=false
Type=Application
Icon=/home/user/.icons/update.png
NoDisplay=false 
Открылся терминал, запросил пароль, набрал. Начался быстый поиск обновлений, выполнил update, написал Готово и терминал тут же закрылся так и не начав upgrade
Чего то ещё не хватает.


serq
Сообщения: 18
Зарегистрирован: 05 окт 2014, 23:58

Скрипт "Обновление"

#3

Сообщение serq » 12 сен 2018, 22:15

Иконка для запуска это хорошо, а можно и через алиас делать обновление, чистку т.д.
Алиасом удобно пользоваться, когда одним словом"командой" введённой в терминале, заменяет длинную команду.

Например:

Код: Выделить всё

alias update='sudo apt-get update && sudo apt-get upgrade'
Здесь update и есть слово "команда", которая вводится в терминале.

Все алиасы прописываются в файле .bash_aliases в домашнем каталоге.

Аватара пользователя

Автор темы
aleks@
Сообщения: 435
Зарегистрирован: 03 дек 2013, 17:48

Скрипт "Обновление"

#4

Сообщение aleks@ » 13 сен 2018, 00:29

У знакомого возникла проблема с обновлением. Интернет получает через wifi с телефона. При обновлении у него выходит окно :

Код: Выделить всё

Нет подключения к интернету
. Но соединение есть. Через терминал он обновляться не хочет, вот и пытаюсь сделать ему иконку для обновления, чтобы он кликнул по ней, набрал пароль и все обновления установились без его участия.

Аватара пользователя

chadwick
Сообщения: 179
Зарегистрирован: 07 авг 2016, 03:09

Скрипт "Обновление"

#5

Сообщение chadwick » 13 сен 2018, 01:48

Код: Выделить всё

~$ cat update
#!/bin/bash
sudo apt-get update
sudo apt-get dist-upgrade -y
можно без sudo ->

Код: Выделить всё

~$ chmod +x update

Код: Выделить всё

~$ cat .local/share/applications/update.desktop
[Desktop Entry]
Name=Обновление системы
Exec=~/update
Terminal=true
Type=Application
Icon=/path/to/update.png
NoDisplay=false
P.S.: bash и sh - это не одно и то же

Аватара пользователя

Автор темы
aleks@
Сообщения: 435
Зарегистрирован: 03 дек 2013, 17:48

Скрипт "Обновление"

#6

Сообщение aleks@ » 13 сен 2018, 11:24

Последний вариант работает.

Код: Выделить всё

[Desktop Entry]
Name=Обновление системы
Exec=lxterminal -e sh /home/user/update.sh
Terminal=false
Type=Application
Icon=/home/user/.icons/update.png
NoDisplay=false

Дело в том что обновлений не было, обновления были установлены ранее, поэтому команда

Код: Выделить всё

sudo apt upgrade
не запускалась и терминал закрывался после выполнения

Код: Выделить всё

sudo apt updade

Ответить