Initial public commit.

(c) 2010 Invisible Things Lab

Authors:
=========
Joanna Rutkowska <joanna@invisiblethingslab.com>
Rafal Wojtczuk  <rafal@invisiblethingslab.com>
This commit is contained in:
Joanna Rutkowska 2010-04-06 00:25:37 +02:00
commit b5e395d385
63 changed files with 1823 additions and 0 deletions

0
.gitignore vendored Normal file
View File

39
README Normal file
View File

@ -0,0 +1,39 @@
The Template Builder
======================
(applies also to the netvm builder)
1) get a clean image of a Linux install (e.g. by using virt-install) NOTE: We
assume that the image will have a two-partition layout:
img1 <--- the root fs (/)
img2 <--- the swap
2) update symlinks in rpms_to_install so that they point to the current version
of rpms to install
3) Now, you can "qubeize" the image. This must be done as root. E.g.:
# ./qubeize_image clean_images/some_image.img f12-x64-compact
4) Make sure the symlinks in vm_kernels point to correct kernel and initramfs
files.
4a) In order to prepare a patched initramfs file, use the
patch_appvm_initramfs.sh program that is installed as part of
qubes-core-dom0.rpm:
# /usr/lib/qubes/patch_appvm_initramfs.sh \
<original_initrafms> \
<filename_for_patched_initramfs> \
/abs_path/vm-initramfs-patches/qubes_cow_setup.sh
4b) Manually adjust the appmenus
5) Finally, build the Template RPM (do it as normal user, not root), e.g.:
$./build_rpm <name>
The resulting rpm is stored in rpm/noarch directory.

0
TODO Normal file
View File

2
add_3rd_party_software.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
cp ../rpms_3rd_party/libflashplayer.so mnt/usr/lib64/mozilla/plugins/

View File

@ -0,0 +1,26 @@
#!/bin/sh
SRC=$1
DSTDIR=$2
DST=$DSTDIR/$(basename $SRC)
# Do not copy KDE/GNOME specific apps, e.g. "Home", "Find files", etc
if grep -q OnlyShowIn $SRC ; then
exit 0
fi
if ! grep -q ^Name $SRC ; then
echo "WARNING: app $SRC doesn't have Name keyword, skipping..."
exit 0
fi
sed -e "s/^\(Name.*\)=\(.*\)/\1=%VMNAME%: \2/" \
-e "s/^\(GenericName.*\)=\(.*\)/\1=%VMNAME%: \2/" \
-e "s/^Exec=\(.*\)/Exec=qvm-run -q --tray -a %VMNAME% \'\1\'/" \
<$SRC | \
grep -v "^Mime" | \
grep -v "^Icon" | \
grep -v "^TryExec" | \
grep -v "^Startup" >$DST
echo X-Qubes-VmName=%VMNAME% >> $DST
echo Icon=%VMDIR%/icon.png >> $DST

View File

@ -0,0 +1,17 @@
#!/bin/sh
SRC=$1
DSTDIR=$2
DST=$DSTDIR/$(basename $SRC)
sed -e "s/^\(Name.*\)=\(.*\)/\1=%VMNAME%: \2/" \
-e "s/^\(GenericName.*\)=\(.*\)/\1=%VMNAME%: \2/" \
-e "s/^Exec=\(.*\)/Exec=qvm-run -q --tray -a --user=root %VMNAME% \"\1\"/" \
<$SRC | \
grep -v "^Mime" | \
grep -v "^TryExec" | \
grep -v "^Startup" >$DST
#echo "Categories=%VMNAME%" >> $DST
echo X-Qubes-VmName=%VMNAME% >> $DST
echo Icon=%VMDIR%/icon.png >> $DST

View File

@ -0,0 +1,13 @@
#!/bin/sh
SRC=$1
DSTDIR=$2
VMNAME=$3
VMDIR=$4
DST=$DSTDIR/$VMNAME-$(basename $SRC)
sed -e "s/%VMNAME%/$VMNAME/" \
-e "s %VMDIR% $VMDIR " \
<$SRC >$DST

View File

@ -0,0 +1,11 @@
#!/bin/sh
SRC=$1
DST=$2
VMNAME=$3
VMDIR=$4
sed -e "s/%VMNAME%/$VMNAME/" \
-e "s %VMDIR% $VMDIR " \
<$SRC >$DST

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=%VMNAME% (NetVM)
Icon=/usr/share/qubes/icons/netvm.png

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=%VMNAME% (TemplateVM)
Icon=/usr/share/qubes/icons/template.png

View File

@ -0,0 +1,5 @@
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=%VMNAME% (VM)
Icon=%VMDIR%/icon.png

9
build_netvm_rpm Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
NAME=$1
if [ x$NAME = x ] ; then
echo "usage $0 <netvm_name>"
exit
fi
rpmbuild --sign --target noarch --define "netvm_name $NAME" -bb netvm.spec

9
build_template_rpm Executable file
View File

@ -0,0 +1,9 @@
#!/bin/sh
NAME=$1
if [ x$NAME = x ] ; then
echo "usage $0 <template_name>"
exit
fi
rpmbuild --sign --target noarch --define "template_name $NAME" -bb templates.spec

1
clean_images/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*

15
create_apps_for_netvm.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
SRCDIR=$1
VMNAME=$2
VMDIR=$3
APPSDIR=$4
if [ $# != 4 ]; then
echo "usage: $0 <apps_templates_dir> <vmname> <vmdir> <apps_dir>"
exit
fi
mkdir -p $APPSDIR
find $SRCDIR -name "*.desktop" -exec appmenus/convert_apptemplate2vm.sh {} $APPSDIR $VMNAME $VMDIR \;
appmenus/convert_dirtemplate2vm.sh appmenus/qubes-netvm.directory.template $APPSDIR/$VMNAME-vm.directory $VMNAME $VMDIR

15
create_apps_for_templatevm.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/sh
SRCDIR=$1
VMNAME=$2
VMDIR=$3
APPSDIR=$4
if [ $# != 4 ]; then
echo "usage: $0 <apps_templates_dir> <vmname> <vmdir> <apps_dir>"
exit
fi
mkdir -p $APPSDIR
find $SRCDIR -name "*.desktop" -exec appmenus/convert_apptemplate2vm.sh {} $APPSDIR $VMNAME $VMDIR \;
appmenus/convert_dirtemplate2vm.sh appmenus/qubes-templatevm.directory.template $APPSDIR/$VMNAME-vm.directory $VMNAME $VMDIR

14
create_apps_templates.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/sh
APPSORIG=$1
APPSTMPL=$2
if [ $# != 2 ]; then
echo "usage $0 <apps_orig_dir> <apps_templ_dir>"
exit 0
fi
rm -f $APPSTMPL/*
mkdir -p $APPSTMPL
find $APPSORIG -name "*.desktop" -exec appmenus/convert_app2template.sh {} $APPSTMPL \;
cp appmenus/qubes-vm.directory.template $APPSTMPL

View File

@ -0,0 +1,14 @@
#!/bin/sh
APPSORIG=$1
APPSTMPL=$2
if [ $# != 2 ]; then
echo "usage $0 <apps_orig_dir> <apps_templ_dir>"
exit 0
fi
#rm -f $APPSTMPL/*
mkdir -p $APPSTMPL
find $APPSORIG -name "*.desktop" -exec appmenus/convert_app2template_for_netvm.sh {} $APPSTMPL \;
cp appmenus/qubes-vm.directory.template $APPSTMPL

0
mnt/.gitignore vendored Normal file
View File

42
mount_root.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh
ROOTIMG=$1
if [ x$ROOTIMG = x ] ; then
echo "usage: $0 <root.img>"
exit 0
fi
# We assume that the input root.img has the following structure:
# /dev/sda1 <--- root fs
# /dev/sda2 <--- swap
# and that the first partition starts at offset 63*512 from the begging of the image file
OFFSET=$((63*512))
mkdir -p mnt
MNTDIR=$(pwd)/mnt
LOOP=$(/sbin/losetup -f -s -o $OFFSET $ROOTIMG)
if [ x$LOOP = x ] ; then
echo "Cannot setup loopback device for the $ROOTIMG file -- perhaps a permissions problem?"
exit 1
fi
mount $LOOP $MNTDIR || {
echo "Cannot mount $LOOP to $MNTDIR"
/sbin/losetup -d $LOOP
exit 2
}
# generate unmount script
BASENAE=$(basename $ROOTIMG)
UNMOUNT_SCRIPT=$(echo unmount_root-$BASENAE.sh)
echo "#!/bin/sh" > $UNMOUNT_SCRIPT
echo "umount $MNTDIR || { echo \"Cannot unmount!\"; exit 1; }" >> $UNMOUNT_SCRIPT
echo "/sbin/losetup -d $LOOP || { echo \"Cannot delete the loop device\"; exit 1; }" >> $UNMOUNT_SCRIPT
echo "rm -f $UNMOUNT_SCRIPT" >> $UNMOUNT_SCRIPT
chmod +x $UNMOUNT_SCRIPT

108
netvm.spec Normal file
View File

@ -0,0 +1,108 @@
#
# This SPEC is for bulding RPM packages that contain complete Qubes NetVM files
# This includes the VM's root image, patched with all qubes rpms, etc
#
%{!?version: %define version %(cat version_netvm)}
Name: qubes-servicevm-%{netvm_name}
Version: %{version}
Release: 1
Summary: Qubes NetVM image for '%{netvm_name}'
License: GPL
URL: http://www.qubes-os.org
Source: .
Requires: qubes-core-dom0 xdg-utils
%define _builddir %(pwd)
%define _rpmdir %(pwd)/rpm
%define dest_dir /var/lib/qubes/servicevms/%{netvm_name}
%description
Qubes NetVM image for '%{netvm_name}'.
%build
cd qubeized_images
rm -f %{netvm_name}-root.img.tar
tar --sparse -cf %{netvm_name}-root.img.tar %{netvm_name}-root.img
cd ..
./create_apps_for_netvm.sh netvm/apps.templates/ %{netvm_name} %{dest_dir} qubeized_images/%{netvm_name}-apps
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}
ln qubeized_images/%{netvm_name}-root.img.tar $RPM_BUILD_ROOT/%{dest_dir}/root.img.tar
touch $RPM_BUILD_ROOT/%{dest_dir}/root.img # we will create the real file in %post
sed -e s/%NETVMNAME%/%{netvm_name}/ < vm_conf_files/netvm.conf >\
$RPM_BUILD_ROOT/%{dest_dir}/%{netvm_name}.conf
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/kernels
cp vm_kernels/vmlinuz $RPM_BUILD_ROOT/%{dest_dir}/kernels/vmlinuz
cp vm_kernels/initramfs $RPM_BUILD_ROOT/%{dest_dir}/kernels/initramfs
cp vm_initramfs_patches/qubes_cow_setup.sh $RPM_BUILD_ROOT/%{dest_dir}/kernels/qubes_cow_setup.sh
mkdir -p $RPM_BUILD_ROOT/%{dest_dir}/apps
cp -r qubeized_images/%{netvm_name}-apps/* $RPM_BUILD_ROOT/%{dest_dir}/apps
touch $RPM_BUILD_ROOT/%{dest_dir}/icon.png
%post
echo "--> Processing the root.img... (this might take a while)"
tar --sparse -xf %{dest_dir}/root.img.tar -C %{dest_dir}
rm -f %{dest_dir}/root.img.tar
mv %{dest_dir}/%{netvm_name}-root.img %{dest_dir}/root.img
chown root.qubes %{dest_dir}/root.img
chmod 0660 %{dest_dir}/root.img
export XDG_DATA_DIRS=/usr/share/
if [ "$1" -gt 1 ] ; then
# upgrading already installed template...
echo "--> Removing previous menu shortcuts..."
xdg-desktop-menu uninstall --mode system %{dest_dir}/apps/*.directory %{dest_dir}/apps/*.desktop
fi
echo "--> Instaling menu shortcuts..."
ln -sf /usr/share/qubes/icons/netvm.png %{dest_dir}/icon.png
xdg-desktop-menu install --mode system %{dest_dir}/apps/*.directory %{dest_dir}/apps/*.desktop
echo "--> Adding to Qubes DB..."
if [ "$1" = 1 ] ; then
# installing for the first time
qvm-add-netvm %{netvm_name}
else
qvm-remove -q --just-db %{netvm_name}
qvm-add-netvm %{netvm_name}
fi
%preun
if [ "$1" = 0 ] ; then
# no more packages left
qvm-remove -q --just-db %{netvm_name}
# we need to have it here, because rpm -U <template>
# apparently executes %preun of the old package *after* %post of the new packages...
echo "--> Removing menu shortcuts..."
export XDG_DATA_DIRS=/usr/share/
xdg-desktop-menu uninstall --mode system %{dest_dir}/apps/*.directory %{dest_dir}/apps/*.desktop
fi
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(660,root,qubes,770)
%dir %{dest_dir}
%ghost %{dest_dir}/root.img
%{dest_dir}/root.img.tar
%{dest_dir}/%{netvm_name}.conf
%dir %{dest_dir}/kernels
%{dest_dir}/kernels/vmlinuz
%{dest_dir}/kernels/initramfs
%{dest_dir}/kernels/qubes_cow_setup.sh
%attr (775,root,qubes) %dir %{dest_dir}/apps
%attr (664,root,qubes) %{dest_dir}/apps/*
%{dest_dir}/icon.png

View File

@ -0,0 +1,173 @@
[Desktop Entry]
Type=Application
Exec=konsole
Icon=utilities-terminal
X-DocPath=konsole/index.html
Terminal=false
X-KDE-StartupNotify=true
Name=Konsole
Name[af]=Konsole
Name[ar]=كونسول
Name[as]=Konsole
Name[be]=Konsole
Name[be@latin]=Konsole
Name[bg]=Konsole
Name[bn]=
Name[bn_IN]=Konsole
Name[br]=Konsole
Name[ca]=Konsole
Name[ca@valencia]=Konsole
Name[cs]=Konsole
Name[csb]=Kònsola
Name[cy]=Konsole
Name[da]=Konsole
Name[de]=Konsole
Name[el]=Κονσόλα
Name[en_GB]=Konsole
Name[eo]=Konsole
Name[es]=Konsole
Name[et]=Konsool
Name[eu]=Kontsola
Name[fi]=Konsole
Name[fr]=Konsole
Name[fy]=Konsole
Name[ga]=Konsole
Name[gl]=Konsole
Name[gu]=
Name[he]=Konsole
Name[hi]=
Name[hne]=
Name[hr]=Konzola
Name[hsb]=Konsola
Name[hu]=Konsole
Name[is]=Skjáhermir
Name[it]=Konsole
Name[ja]=Konsole
Name[ka]=
Name[kk]=Konsole
Name[km]=
Name[kn]=
Name[ko]=Konsole
Name[ku]=Konsol
Name[lt]=Konsole
Name[lv]=Konsole
Name[mai]=
Name[mk]=Конзола
Name[ml]=
Name[mr]=
Name[ms]=Konsole
Name[nb]=Konsole
Name[nds]=Konsole
Name[ne]=
Name[nl]=Konsole
Name[nn]=Konsoll
Name[oc]=Konsole
Name[or]=
Name[pa]=
Name[pl]=Konsola
Name[pt]=Konsole
Name[pt_BR]=Konsole
Name[ro]=Konsolă
Name[ru]=Konsole
Name[se]=Konsolla
Name[si]=Konsole
Name[sk]=Konzola
Name[sl]=Konzola
Name[sr]=Конзола
Name[sr@latin]=Konsole
Name[sv]=Konsole
Name[ta]=
Name[te]=
Name[tg]=Консол
Name[th]= K
Name[tr]=Konsole
Name[uk]=Konsole
Name[uz]=Konsole
Name[uz@cyrillic]=Konsole
Name[vi]=Konsole
Name[wa]=Konsole
Name[xh]=Konsole
Name[x-test]=xxKonsolexx
Name[zh_CN]=Konsole
Name[zh_TW]=Konsole
GenericName=Terminal
GenericName[af]=Terminaal
GenericName[ar]=طرفيّة
GenericName[as]=ি
GenericName[be@latin]=Terminał
GenericName[bg]=Терминал
GenericName[bn]=ি
GenericName[bn_IN]=ি
GenericName[ca]=Terminal
GenericName[ca@valencia]=Terminal
GenericName[cs]=Terminál
GenericName[csb]=Terminal
GenericName[da]=Terminal
GenericName[de]=Terminal
GenericName[el]=Τερματικό
GenericName[en_GB]=Terminal
GenericName[eo]=Terminalo
GenericName[es]=Terminal
GenericName[et]=Terminal
GenericName[eu]=Terminala
GenericName[fi]=Komentoikkuna
GenericName[fr]=Terminal
GenericName[fy]=Terminal
GenericName[ga]=Teirminéal
GenericName[gl]=Terminal
GenericName[gu]=િ
GenericName[he]=מסוף
GenericName[hi]=ि
GenericName[hne]=ि
GenericName[hr]=Terminal
GenericName[hsb]=Terminal
GenericName[hu]=Terminál
GenericName[is]=Skjáhermir
GenericName[it]=Terminale
GenericName[ja]=
GenericName[kk]=Терминал
GenericName[km]=
GenericName[kn]= (ಿ)
GenericName[ko]=
GenericName[ku]=Termînal
GenericName[lt]=Terminalas
GenericName[lv]=Terminālis
GenericName[mai]=ि
GenericName[mk]=Терминал
GenericName[ml]=ി
GenericName[mr]=ि
GenericName[nb]=Terminal
GenericName[nds]=Konsool
GenericName[nl]=Terminal
GenericName[nn]=Terminal
GenericName[or]=ି
GenericName[pa]=
GenericName[pl]=Terminal
GenericName[pt]=Terminal
GenericName[pt_BR]=Terminal
GenericName[ro]=Terminal
GenericName[ru]=Терминал
GenericName[se]=Terminal
GenericName[si]=Terminal
GenericName[sk]=Terminál
GenericName[sl]=Terminal
GenericName[sr]=Терминал
GenericName[sr@latin]=Terminal
GenericName[sv]=Terminal
GenericName[ta]=
GenericName[te]=ి
GenericName[tg]=Терминал
GenericName[th]=
GenericName[tr]=Uçbirim
GenericName[uk]=Термінал
GenericName[uz]=Terminal
GenericName[uz@cyrillic]=Терминал
GenericName[wa]=Terminå
GenericName[x-test]=xxTerminalxx
GenericName[zh_CN]=
GenericName[zh_TW]=
X-DBUS-StartupType=Unique
X-KDE-AuthorizeAction=shell_access
Categories=Qt;KDE;System;TerminalEmulator;

View File

@ -0,0 +1,107 @@
[Desktop Entry]
Name=Network Connections
Name[ar]=الاتصالات الشبكية
Name[as]='
Name[be]=Сеткавыя далучэньні
Name[be@latin]=Sietkavyja spałučeńni
Name[bg]=Мрежови връзки
Name[bn_IN]=
Name[ca]=Connexions de xarxa
Name[crh]=Şebeke Bağlantıları
Name[cs]=Připojení k síti
Name[da]=Netværksforbindelser
Name[de]=Netzwerkverbindungen
Name[el]=Συνδέσεις δικτύου
Name[en_GB]=Network Connections
Name[es]=Conexiones de red
Name[et]=Võrguühendused
Name[eu]=Sareko konexioak
Name[fi]=Verkkoyhteydet
Name[fr]=Connexions réseau
Name[gl]=Conexións de rede
Name[gu]=
Name[he]=חיבורי רשת
Name[hu]=Hálózati kapcsolatok
Name[id]=Sambungan Jaringan
Name[it]=Connessioni di rete
Name[kn]=
Name[ko]=
Name[lt]=Tinklo ryšiai
Name[mk]=Мрежни врски
Name[ml]=
Name[mr]=
Name[nb]=Nettverkstilkoblinger
Name[nl]=Netwerkverbindingen
Name[nn]=Nettverkstilkoplingar
Name[oc]=Connexions ret
Name[or]= ି
Name[pa]=
Name[pl]=Połączenia sieciowe
Name[pt]=Ligações de Rede
Name[pt_BR]=Conexões de rede
Name[ro]=Conexiuni de rețea
Name[ru]=Сетевые соединения
Name[sk]=Sieťové spojenia
Name[sl]=Omrežne povezave
Name[sr]=Везе са мрежом
Name[sr@latin]=Veze sa mrežom
Name[sv]=Nätverksanslutningar
Name[ta]=ி
Name[te]=
Name[zh_CN]=
Name[zh_HK]=
Name[zh_TW]=
Comment=Manage and change your network connection settings
Comment[ar]=أدِر وغيّر إعدادات الاتصالات الشبكية
Comment[as]= ' ি ি
Comment[be]=Кіраваць і зьмяняць настаўленьні сеткавых далучэньняў
Comment[be@latin]=Kiruj i źmianiaj nałady sietkavych spałučeńniaŭ
Comment[bg]=Управление и промяна на настройките на вашата мрежа
Comment[bn_IN]= ি ি
Comment[ca]=Gestioneu i modifiqueu els paràmetres de connexió a la xarxa
Comment[crh]=Şebeke bağlantısı tesbitleriñizni idare etiñiz ve değiştiriñiz
Comment[cs]=Spravovat a měnit nastavení připojení k síti
Comment[da]=Håndter og ændr din opsætning af netværksforbindelser
Comment[de]=Einstellungen für Verbindungen mit Netzwerken verwalten
Comment[el]=Διαχείριση και αλλαγή ρυθμίσεων των συνδέσεων δικτύου
Comment[es]=Gestione y cambie sus ajustes de la conexión de red
Comment[et]=Halda ja muuda võrguühenduse sätteid
Comment[eu]=Kudeatu eta aldatu sareko konexioen ezarpenak
Comment[fi]=Hallitse ja muuta verkkoyhteyksien asetuksia
Comment[fr]=Gérer et modifier les paramètres des connexions réseau
Comment[gl]=Xestione e cambie as súas configuracións de conexión de rede
Comment[gu]= િ
Comment[he]=נהל ושנה את הגדרות חיבורי הרשת שלך
Comment[hu]=Hálózati kapcsolatok beállításainak kezelése és módosítása
Comment[id]=Kelola dan ubah tatanan sambungan jaringan Anda
Comment[it]=Gestisce e cambia le impostazioni della connessione di rete
Comment[kn]=ಿ ಿಿಿ ಿಿ
Comment[lt]=Tvarkykite ir keiskite savo tinklo ryšių parametrus
Comment[ml]=ി .
Comment[mr]=
Comment[nb]=Håndter og endre innstillinger for nettverksforbindelser
Comment[or]= ି ି
Comment[pa]= ਿ
Comment[pl]=Zarządzanie ustawieniami połączeń sieciowych
Comment[pt]=Gerir e alterar as suas definições da ligação de rede
Comment[pt_BR]=Gerencie e altere suas configurações de conexão de rede
Comment[ro]=Administrați și modificați opțiunile conexiunilor de rețea
Comment[ru]=Управление параметрами сетевых соединений
Comment[sl]=Upravljanje in spreminjanje nastavitev omrežne povezave
Comment[sr]=Управљајте и измените подешавања ваших мрежних веза
Comment[sr@latin]=Upravljajte i izmenite podešavanja vaših mrežnih veza
Comment[sv]=Hantera och ändra inställningar för dina nätverksanslutningar
Comment[ta]=ி ி
Comment[te]= ిిి ి ి
Comment[zh_CN]=
Comment[zh_HK]=
Comment[zh_TW]=
Icon=preferences-system-network
Exec=nm-connection-editor
Terminal=false
Type=Application
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=NetworkManager
X-GNOME-Bugzilla-Component=general
Categories=GNOME;GTK;Settings;X-SuSE-ControlCenter-System;X-GNOME-NetworkSettings;
OnlyShowIn=GNOME;

View File

@ -0,0 +1,114 @@
[Desktop Entry]
Name=Firewall
Name[as]=
Name[bg]=Защитна стена
Name[bn_IN]=
Name[ca]=Tallafoc
Name[cs]=Firewall
Name[da]=Firewall
Name[de]=Firewall
Name[el]=Firewall
Name[es]=Cortafuego
Name[fi]=Palomuuri
Name[fr]=Pare-feu
Name[gu]=
Name[he]=חומת אש
Name[hi]=
Name[hr]=Vatrozid
Name[hu]=Tűzfal
Name[id]=Firewall
Name[is]=Eldveggur
Name[it]=Firewall
Name[ja]=
Name[ka]=
Name[kn]=
Name[ko]=
Name[lv]=Ugunssiena
Name[mai]=
Name[ml]=
Name[mr]=
Name[ms]=Firewall
Name[nb]=Brannmur
Name[nl]=Firewall
Name[or]=ି
Name[pa]=
Name[pl]=Zapora sieciowa
Name[pt]=Firewall
Name[pt_BR]=Firewall
Name[ro]=Paravan de protecție
Name[ru]=Межсетевой экран
Name[si]= ()
Name[sk]=Firewall
Name[sr]=Заштитни зид
Name[sr@latin]=Zaštitni zid
Name[sv]=Brandvägg
Name[ta]=
Name[te]=
Name[uk]=Мережний екран
Name[zh_CN]=
Name[zh_TW]=
Comment=Firewall Configuration
Comment[ar]=تهيئة الجدار النّاري
Comment[as]= ি
Comment[bg]=Настройка на защитната стена
Comment[bn]= ি
Comment[bn_IN]= ি
Comment[ca]=Configuració del tallafoc
Comment[cs]=Nastavení firewallu
Comment[cy]=Cyfluniad Mur Cadarn
Comment[da]=Konfiguration af firewall
Comment[de]=Firewall-Konfiguration
Comment[el]=Ρύθμιση Firewall
Comment[es]=Configuración del cortafuegos
Comment[et]=Tulemüüri seaded
Comment[fa]=پیکربندی دیوارآتش
Comment[fi]=Palomuuriasetukset
Comment[fr]=Configuration du pare-feu
Comment[gu]=
Comment[he]=הגדרת חומת האש
Comment[hi]= ि
Comment[hr]=Konfiguracija vatrozida
Comment[hu]=Tűzfalbeállítások
Comment[id]=Konfigurasi Firewall
Comment[is]=Stillingar eldveggs
Comment[it]=Configurazione del Firewall
Comment[ja]=
Comment[ka]=
Comment[kn]=
Comment[ko]=
Comment[lt]=Ugniasienės nustatymai
Comment[mai]= ि
Comment[mk]=Конфигурација на огненг ѕид
Comment[ml]=
Comment[mr]=
Comment[ms]=Tentutetap Firewall
Comment[nb]=Konfigurasjon av brannmur
Comment[nl]=Firewallconfiguratie
Comment[or]=ି ି
Comment[pa]=
Comment[pl]=Konfiguracja zapory sieciowej
Comment[pt]=Configuração da Firewall
Comment[pt_BR]=Configuração do Firewall
Comment[ro]=Configurare paravan de protecție
Comment[ru]=Настройка межсетевого экрана
Comment[si]=
Comment[sk]=Nastavenia firewallu
Comment[sl]=Nastavitev požarnega zidu
Comment[sr]=Подешавање заштитног зида
Comment[sr@latin]=Podešavanje zaštitnog zida
Comment[sv]=Brandväggskonfiguration
Comment[ta]=
Comment[te]=Firewall
Comment[tr]=Güvenlik Duvarı Yapılandırması
Comment[uk]=Налаштовування мережного екрану
Comment[vi]=Cu hình Tưng la
Comment[zh_CN]=
Comment[zh_TW]=
Icon=preferences-system-firewall
Categories=System;Settings;Security;
Exec=/usr/bin/system-config-firewall
Type=Application
StartupNotify=true
Terminal=false
X-Desktop-File-Install-Version=0.15

View File

@ -0,0 +1,175 @@
[Desktop Entry]
Name=Services
Name[ar]=الخدمات
Name[as]=
Name[bg]=Услуги
Name[bn]=ি
Name[bn_IN]=ি
Name[bs]=Usluge
Name[ca]=Serveis
Name[cs]=Služby
Name[cy]=Gwasanaethau
Name[da]=Tjenester
Name[de]=Dienste
Name[el]=Υπηρεσίες
Name[en_GB]=Services
Name[es]=Servicios
Name[et]=Teenused
Name[fa]=خدمات
Name[fi]=Palvelut
Name[fr]=Services
Name[gu]=
Name[hi]=
Name[hr]=Usluge
Name[hu]=Szolgáltatások
Name[id]=Layanan
Name[is]=Þjónustur
Name[it]=Servizi
Name[ja]=
Name[ka]=
Name[kn]=
Name[ko]=
Name[lt]=Tarnybos
Name[lv]=Servisi
Name[mai]=
Name[mk]=Сервиси
Name[ml]=
Name[mr]=
Name[ms]=Perkhidmatan
Name[nb]=Tjenester
Name[nl]=Services
Name[or]=
Name[pa]=ਿ
Name[pl]=Usługi
Name[pt]=Serviços
Name[pt_BR]=Serviços
Name[ro]=Servicii
Name[ru]=Службы
Name[si]=
Name[sk]=Služby
Name[sl]=Storitve
Name[sr]=Сервиси
Name[sr@latin]=Servisi
Name[sv]=Tjänster
Name[ta]=
Name[te]=
Name[tr]=Servisler
Name[uk]=Служби
Name[vi]=Dch v
Name[zh_CN]=
Name[zh_TW]=
GenericName=Service Management
GenericName[ar]=إدارة الخدمة
GenericName[as]= ি
GenericName[bg]=Мениджмънт на услугите
GenericName[bn_IN]=ি ি
GenericName[bs]=Upravljanje uslugom
GenericName[ca]=Gestió de serveis
GenericName[cs]=Správa služeb
GenericName[da]=Administration af tjenester
GenericName[de]=Dienst-Verwaltung
GenericName[el]=Διαχείριση υπηρεσιών
GenericName[en_GB]=Service Management
GenericName[es]=Administración de Servicios
GenericName[et]=Teenusehaldur
GenericName[fi]=Palvelujen hallinta
GenericName[fr]=Gestion des services
GenericName[gu]=
GenericName[hi]=
GenericName[hr]=Upravljanje uslugom
GenericName[hu]=Szolgáltatás igazgatás
GenericName[id]=Pengelolaan Layanan:
GenericName[is]=þjónustustýring
GenericName[it]=Gestione dei servizi
GenericName[ja]=
GenericName[ka]=
GenericName[kn]= ಿ
GenericName[ko]=
GenericName[lv]=Servisu vadība
GenericName[mai]=
GenericName[mk]=Менаџмент на сервиси
GenericName[ml]=
GenericName[mr]=
GenericName[ms]=Pengurusan Servis
GenericName[nb]=Håndtering av tjenester
GenericName[nl]=Service Beheer
GenericName[or]= ି
GenericName[pa]=
GenericName[pl]=Zarządzanie usługami
GenericName[pt]=Gestão de Serviços
GenericName[pt_BR]=Gerenciamento do serviço
GenericName[ro]=Management serviciu
GenericName[ru]=Управление службами
GenericName[si]=
GenericName[sk]=Správa služieb
GenericName[sr]=Управљање сервисима
GenericName[sr@latin]=Upravljanje servisima
GenericName[sv]=Tjänsthantering
GenericName[ta]=
GenericName[te]= ి
GenericName[tr]=Servis Yönetimi
GenericName[uk]=Керування службами
GenericName[zh_CN]=
GenericName[zh_TW]=
Comment=Configure which services will be running when the system starts
Comment[ar]=تهيئة الخدمات التي سوف تعمل عند بدء النظام
Comment[as]= ি ি
Comment[bg]=Избор на услуги които да работят при стартиране на системата
Comment[bn_IN]=ি ি িি ি
Comment[bs]=Konfiguriranje usluga koje će biti pokrenute tijekom pokretanja sistema
Comment[ca]=Configureu quins serveis s'executaran quan el sistema s'iniciï
Comment[cs]=Nastavit, jaké služby budou při startu systému spuštěny
Comment[d