вторник, 22 января 2008 г.

В помощь Ubuntu-сисадмину

Выкладываю некоторые полезные наработки по Ubuntu (скриптинг и конфиги с соответствующими тегами). Данный пост будет с тегом scripting.

Однокликовые desktop-скрипты для Ubuntu
(Текст данных скриптов должен быть записан в файл с расширением .desktop)

1. thunderbird.desktop: Установка Thunderbird и локализации для него

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Terminal=true
Exec=sudo apt-get install -y mozilla-thunderbird mozilla-thunderbird-locale-ru
Name=Mozilla Thunderbird


2. msttcorefonts.desktop: Установка MS-шрифтов

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Terminal=true
Exec=sudo bash -c "dpkg-reconfigure -f noninteractive msttcorefonts || apt-get install -y msttcorefonts"
Name=Microsoft Fonts


3. install.desktop: Общий install-ер для sudo-скриптов

1) запускаемый скрипт install.sh;
2) всё принадлежащее скрипту и сам он должны находиться в директории src.

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Terminal=true
Exec=bash -c "cd `echo %k | sed -r 's/^file:\/\/(.*)\/.*/\1/'`/src && sudo sh install.sh"
Name[ru_RU]=Установить
Name=Install


3.1 Пример содержания директории src (замена списка источников (репозиториев))

Два файла: install.sh и sources.list
cодержание install.sh:

#!/bin/bash

cp sources.list /etc/apt
apt-get update


3.2 Пример содержания директории src (отображение tiff в firefox и др., необходимо для работы корректной работы сайта http://www.uspto.gov/)
install.sh:

#!/bin/bash

apt-get install -y rpl mozplugger
rpl -b 'repeat noisy swallow(gqview) fill: gqview -t "$file"' \
'repeat noisy swallow(eog) fill: eog "$file"'\
/etc/mozpluggerrc


4. user_install.desktop: Общий install-ер для не sudo-скриптов

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Install
Type=Application
Terminal=true
Exec=bash -c "cd `echo %k | sed -r 's/^file:\\/\\/(.*)\\/.*/\\1/'`/src && sh install.sh"
Name[ru_RU]=Установить
GenericName[ru_RU]=


4.1 Пример содержания директории src (установка MS-Вьюверов и PDF принтера)
Список файлов:
excelviewer.desktop
install.sh
powerpointviewer.desktop
ppview97.exe
wd97vwr32.exe
wordviewer.desktop
xlViewer.exe

Содержание install.sh:

#!/bin/bash

sudo apt-get install -y wine cabextract cups-pdf

# Install MS Excel Viewer
cabextract -d xlview xlViewer.exe
wine xlview/setup.exe /QT
rm -rf xlview

# Install MS Word Viewer
cabextract -d wordview wd97vwr32.exe
wine wordview/setup.exe /QT
rm -rf wordview

# Install MS PowerPoint Viewer
cabextract -d ppview ppview97.exe
wine ppview/setup.exe /QT
rm -rf ppview

# Shortcuts
cp *.desktop ~/Desktop/

# PDF Printer
lpadmin -p PDF_Printer -v cups-pdf:/ -P /usr/share/ppd/cups-pdf/PostscriptColor.ppd -E && \
mkdir ~/PDF && ln -s ~/PDF ~/Desktop/


Содержание excelviewer.desktop:

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Excel Viewer
Type=Application
Terminal=false
Exec=wine "c:\\program files\\xlview\xlview.exe"


Update:
Вышеуказанные Desktop-скрипты работают в Ubuntu 7.04 (и возможно в 7.10). Начиная с Ubuntu 8.04 и выше строка Exec должна быть другая (попроще :))
Exec=bash -c 'cd "$(dirname "%k")/src" && sh install.sh'

1 комментарий:

jetxee комментирует...

Достаточно интересная идея засовывать однострочные скрипты в .desktop-файлы. Браво.