Úvodné nastavenia I.

Hneď po úspešnej inštalácií Linuxu Mint odporúčame nainštalovať pár užitočných programov a urobiť isté zmeny. Dobrou správou je, že vďaka programovaciemu jazyku python a našim skriptám môžete väčšinu týchto zmien uskutočniť jediným príkazom zadaným do terminálu. Ak teda našim skriptám dôverujete, odporúčame vám najprv zmeniť frekvenciu automatických aktualizácií, aby nedošlo k probĺemom počas ich behu (kliknite na modrý štít v pravom dolnom rohu, zadajte heslo, Upraviť -> Nastavenia -> Automatická obnova a zmeňte frekvenciu aktualizácií napr. na každých 12 hodín, keďže budeme aktualizáciu riešiť iným, automatizovaným spôsobom). Ku skriptám potrebujete internet, čiže ak sa naň chcete pripojiť pomocou wifi a nejde to, prečítajte si naše riešenie.
Na spustenie našich skrípt otvorte terminál (Menu -> Terminál, alebo kliknite pravým tlačidlom na plochu/prázdne miesto v adresári -> Otvoriť v terminále) a skopírujte doň nasledujúci text (vkladať text do terminálu môžete pomocou pravého kliknutia na myši -> Vložiť)

wget http://nebojtesalinuxu.sk/data/start.py && sudo python start.py

Start.py nainštaluje vyše 15 užitočných programov a uskutoční niekoľko iných zmien. Stručne vám vysvetlíme čo sa vlastne stalo, najprv si ale ukážme kód.

Zobraziť kód

#!/usr/bin/python
# -*- coding: utf-8 -*-

from subprocess import call, Popen, PIPE
import platform, sys, urllib2, os, fileinput

linux_arch = platform.architecture()[0]

if linux_arch != "32bit" and linux_arch != "64bit":
    sys.exit("neznáma architektúra operačného systému: " + linux_arch)

username = Popen(['echo -n $SUDO_USER'], stdout=PIPE, shell=True).communicate()[0]

# google-chrome - pridajme ho medzi známe programy, nainštalujeme ho nižšie
call(["wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -"], shell=True)
call(["sudo sh -c 'echo deb http://dl.google.com/linux/chrome/deb/ stable main > /etc/apt/sources.list.d/google-chrome.list'"], shell=True)

# pinta - pridajme ho medzi známe programy, aby sa aktualizoval správne
call(["sudo add-apt-repository -y ppa:pinta-maintainers/pinta-stable"], shell=True)

# uncomplicated firewall
call(["sudo ufw --force reset && sudo ufw default deny incoming && sudo ufw enable"], shell=True)

# gwenview
call(["sudo apt-get install -y gwenview"], shell=True)

# pinta
call(["sudo apt-get install -y pinta"], shell=True)

# gparted
call(["sudo apt-get install -y gparted"], shell=True)

# bleachbit
call(["sudo apt-get install -y bleachbit"], shell=True)

# gnome-games
call(["sudo apt-get install -y gnome-games"], shell=True)

# aisleriot
call(["sudo apt-get install -y aisleriot gnome-cards-data"], shell=True)

# meld
call(["sudo apt-get install -y meld"], shell=True)

# gucharmap
call(["sudo apt-get install -y gucharmap"], shell=True)

# gnome-commander
call(["sudo apt-get install -y gnome-commander"], shell=True)

# prelink
call(["sudo apt-get install -y prelink"], shell=True)
call(["sudo /etc/cron.daily/prelink"], shell=True)

# preload
call(["sudo apt-get install -y preload"], shell=True)

# grub-customizer (pridajme zdroj programu, nainštalujeme ho nižšie)
call(["sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer"], shell=True)

# šablóny pre vytváranie nových súborov, prispôsobené aj pre použitie s anglickým linuxom
folder = "Šablóny"
filename = "sablony.zip"
if os.path.isdir("/home/" + username + "/Templates") == True:
    folder = "Templates"
    filename = "templates.zip"
call(["cd ~/" + folder + " && wget -N http://www.nebojtesalinuxu.sk/data/" + filename + " && unzip -jo " + filename + " && rm " + filename], shell=True)
call(["cd ~/" + folder + " && sudo chown " + username + ":" + username + " *"], shell=True)

# deaktivácia prostredného tlačidla na kopírovanie
call(["xmodmap -e 'pointer = 1 25 3 4 5 6 7 8 9' && touch ~/.Xmodmap && echo 'pointer = 1 25 3 4 5 6 7 8 9' > ~/.Xmodmap"], shell=True)

# nastavme RAM swappiness pre zlepšenie výkonu
call(["sudo sysctl vm.swappiness=10"], shell=True)

# aktivujeme "prelink" na zlepšenie výkonu    
try:
    for line in fileinput.input("/etc/default/prelink", inplace=True):
        print line.replace('PRELINKING=unknown', 'PRELINKING=yes'),
except Exception:
    pass

# repozitár libreoffice pre jednoduché aktualizácie
call(["sudo add-apt-repository -y ppa:libreoffice/ppa"], shell=True)

# repozitár gimp pre jednoduché aktualizácie + nejaké extra
call(["sudo add-apt-repository -y ppa:otto-kesselgulasch/gimp"], shell=True)
call(["sudo apt-get install -y gimp-data gimp-data-extras"], shell=True)

# odstránime niektoré doplnky, ktoré by ste pravdepodobne nikdy nepoužili
call(["sudo apt-get purge -y mint-search-addon mint-stylish-addon oneconf popularity-contest python-ubuntuone-client python-ubuntuone-storageprotocol ubuntuone-installer python-ubuntuone-control-panel rhythmbox-ubuntuone ubuntuone-client ubuntuone-client-gnome ubuntuone-control-panel unity-scope-musicstores deja-dup libfreerdp1 remmina remmina-common vino remmina-plugin-rdp remmina-plugin-vnc activity-log-manager-common python-zeitgeist activity-log-manager-control-center rhythmbox-plugin-zeitgeist unity-lens-video unity-scope-video-remote zeitgeist zeitgeist-core zeitgeist-datahub rsync"], shell=True)
call(["sudo apt-get autoremove -y"], shell=True)

# stiahnutie aktualizácií na Linux
call(["sudo apt-get update && sudo apt-get -y upgrade"], shell=True)

# google-chrome - inštalácia až tu, aby sme nemuseli vykonať "apt-get update" viackrát
call(["sudo apt-get install -y google-chrome-stable"], shell=True)

# grub-customizer - inštalácia až tu, aby sme nemuseli vykonať "apt-get update" viackrát
call(["sudo apt-get install -y grub-customizer"], shell=True)

# nastavme, ktorý typ súbora bude otváraný ktorým programom
call(["wget -NP ~/.local/share/applications http://www.nebojtesalinuxu.sk/data/mimeapps.list"], shell=True)
call(["sudo chown " + username + ":" + username + " -R ~/.local/share/applications"], shell=True)

# vytvorme skript, ktorý zaktualizuje systém každý deň
call(["echo '#!/bin/bash\napt-get update\napt-get -y upgrade\napt-get -y autoclean\napt-get -y autoremove' > nsl_daily"], shell=True)
call(["sudo chmod +x nsl_daily"], shell=True)
call(["sudo chown root:root nsl_daily"], shell=True)
call(["sudo mv nsl_daily /etc/cron.daily"], shell=True)

# vytvorme skript, ktorý prečistí pc každé 3 mesiace
call(["echo '#!/bin/bash\nmonth=`date +\"%m\"`\nif [ `echo \"$month % 3\" | bc` -eq 0 ]; then\n    bleachbit --clean adobe_reader.cache adobe_reader.tmp amsn.cache amule.logs amule.tmp apt.autoclean apt.autoremove apt.clean audacious.cache bash.history beagle.cache chromium.cache deepscan.backup deepscan.ds_store deepscan.thumbs_db deepscan.tmp emesene.cache evolution.cache exaile.cache firefox.cache firefox.crash_reports firefox.download_history firefox.passwords firefox.vacuum flash.cache gftp.cache gimp.tmp google_chrome.cache google_chrome.passwords google_chrome.search_engines google_chrome.vacuum gpodder.cache gpodder.vacuum hippo_opensim_viewer.cache java.cache kde.cache libreoffice.cache libreoffice.history liferea.cache liferea.vacuum miro.cache openofficeorg.cache opera.cache opera.download_history pidgin.cache rhythmbox.cache seamonkey.cache secondlife_viewer.Cache system.cache system.rotated_logs system.tmp system.trash thumbnails.cache thunderbird.cache thunderbird.vacuum tremulous.cache transmission.cache vuze.cache xine.cache yum.clean_all yum.vacuum\nfi' > nsl_monthly"], shell=True)
call(["sudo chmod +x nsl_monthly"], shell=True)
call(["sudo chown root:root nsl_monthly"], shell=True)
call(["sudo mv nsl_monthly /etc/cron.monthly"], shell=True)

# vymažeme po sebe súbor
call(["rm start.py"], shell=True)

Stiahne sa vyše 600 MB, dĺžka procesu tak závisí aj od rýchlosti vášho pripojenia na internet. Okrem sťahovania sa programy a balíky aj nainštalujú, s rýchlosťou sťahovania 1MB/s tak treba počítať s dobou zhruba 25 minút. Ak pôjde všetko v poriadku, budete musieť zasiahnuť len dvakrát. V niekoľkých hláškach vám budú dané voľby. Hneď po inštalácií Linuxu to ale nie je nič podstatné, len stále zadajte "y" a stlačte Enter.

V prípade, že si chcete nainštalovať program Dropbox a chcete, aby sa automaticky spúšťal pri každom spustení pc, zadajte do terminálu
sudo apt-get install -y nautilus-dropbox && dropbox autostart y. Ručne ho môžete spustiť pomocou Menu -> Dropbox.

Skype nainštalujete pomocou sudo apt-get install -y skype, spustíte ho cez Menu -> Skype.

Vysvetlenie kódu

Programy:

linux_arch = platform.architecture()[0]

Ešte pred začatím inštalácií musia skriptá zistiť, či je váš systém 32, alebo 64 bitový. Presne to je úlohou tohto riadka, aby ste to nemuseli zadávať ručne. Tento údaj je dôležitý pri inštalácií niektorých programov, ako napríklad Google-chrome a Javy pre prehliadače. Ak verziu vášho systému skript nedokáže zistiť, vypíše chybovú hlášku a ukončí sa.


username=Popen(['echo -n $SUDO_USER'], stdout=PIPE, shell=True).communicate()[0]

Tento riadok zistí vaše používateľské meno, ktorým neskôr vieme zmeniť vlastníka súborov.


call(["wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -"], shell=True)
call(["sudo sh -c 'echo deb http://dl.google.com/linux/chrome/deb/ stable main > /etc/apt/sources.list.d/google.list'"], shell=True)
call(["sudo apt-get install -y google-chrome-stable"], shell=True)

Nainštalujeme Google-chrome, známy internetový prehliadač. Pridáme jeho umiestnenie ku zdrojom softvéru, aby sa jednoducho aktualizoval.


call(["sudo add-apt-repository -y ppa:pinta-maintainers/pinta-stable"], shell=True)

Pridáme zdroj programu Pinta medzi známe zdroje, aby sa správne aktualizoval


call(["sudo ufw --force reset && sudo ufw default deny incoming && sudo ufw enable"], shell=True)

Ufw, čiže Uncomplicated Firewall je jednoduchým firewallom, ktorého cieľom je kontrolovať informácie prichádzajúce z internetu a poskytnúť tým pre pc istý stupeň zabezpečenia. Zadané nastavenia spôsobia blokovanie vzdialeného prístupu k vášmu počítaču, keďže ho pravdepodobne nebudete potrebovať. Ufw sa automaticky zapne pri každom spustení Linuxu. Pre grafické rozhranie firewallu môžete nainštalovať gufw pomocou sudo apt-get install -y gufw.


call(["sudo apt-get install -y gwenview"], shell=True)

Gwenview je jednoduchý prehliadač obrázkov, schopný zobraziť aj viacero naraz. Môžete s ním aj vykonávať jednoduché úpravy obrázkov, ako napr. orezanie, alebo otočenie. Vie zobraziť aj súbory typu .gif.


call(["sudo apt-get install -y pinta"], shell=True)

Pinta je v podstate Linuxový ekvivalent pre Skicár (paint) vo Windowse. Okrem základných úprav má ale aj podporu pre vrstvy a rôzne efekty.


call(["sudo apt-get install -y gparted"], shell=True)

Gparted slúži na manipuláciu tzv. partícií, čo sú v podstate jednotlivé časti harddisku. Môžete ním napríklad zmeniť veľkosť na disku ktorú má Linux k dispozícií, alebo aj ľahko sformátovať USB. Narábanie s partíciami je typické hlavne pre Linux, vo Windowse ste sa s nimi pravdepodobne nestretli. Ak máte momentálne len 1 operačný systém a je ním nejaká verzia Windowsu, celý váš harddisk tvorí len jediná partícia, ktorej veľkosť nemá zmysel meniť. S gparted treba zaobchádzať opatrne, preto je na jeho spustenie potrebné heslo administrátora pc.


call(["sudo apt-get install -y bleachbit"], shell=True)

BleachBit je vynikajúci nástroj na údržbu pc. Môžete s ním vymazať nepotrebné súbory z rozličných adresárov, alebo rôzne údaje spojené s prehliadaním webu. Potenciálne súbory a ich veľkosť je možné bez vymazania aj zobraziť. Ako väčšina programov v Linuxe, aj BleachBit môže byť spustený aj cez príkazový riadok s rôznymi parametrami, čiže si čistenie môžete aj načasovať napr. na raz mesačne.


call(["sudo apt-get install -y gnome-games"], shell=True)

Keďže si väčšina ľudí z času na čas niečo aj zahraje a v čistom Linuxe Mint nie sú predinštalované žiadne hry, pripájame Gnome-games. Gnome je skratka pre desktopové prostredie používané aj v Linuxe Mint. Gnome-games je balík 15 klasických hier ako šachy, míny a sudoku.


call(["sudo apt-get install -y aisleriot gnome-cards-data"], shell=True)

Aisleriot je kolekcia vyše 80 kartových hier, medzi ktorými je aj Solitaire (Klondike) a Freecell. Inštalácia gnome-cards-data pridá niekoľko nových štýlov kariet.


call(["sudo apt-get install -y meld"], shell=True)

Meld je program určený na porovnanie 2 súborov (textov), resp. porovnanie obsahov 2 adresárov. Rozdiely medzi textami, alebo adresármi sú vyobrazené prehľadne, čo vám môže oproti ručnému porovnávaniu ušetriť veľa času.


call(["sudo apt-get install -y gucharmap"], shell=True)

Gucharmap predstavuje mapu znakov, ktorá vám jednoznačne pomôže ak potrebujete do textu vložiť znaky ako ® alebo ©, a neviete ich klávesovú skratku.


call(["sudo apt-get install -y gnome-commander"], shell=True)

Gnome Commander je jeden z linuxových ekvivalentov pre Total Commander, ktorí ste vo Windowse možno používali.


call(["sudo apt-get install -y prelink"], shell=True)
call(["sudo /etc/cron.daily/prelink"], shell=True)

Prelink je nástrojom, ktorý vám zrýchli pc zlepšením práce s knižnicami. Zaktualizuje sa každý deň.


call(["sudo apt-get install -y preload"], shell=True)

Preload po pár dňoch používania automaticky zrýchli spúšťanie programov, ktoré používate najčastejšie.


call(["sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer"], shell=True)
call(["sudo apt-get install -y grub-customizer"], shell=True)

Grub customizer môžete potrebovať najmä pri dual-boote, čiže ak máte 2 operačné systémy. Môžete pomocou neho upraviť zoznam operačných systémov, ktorý sa objaví pri štarte pc. Je možné jednotlivé položky odstrániť, ale aj premenovať. Tento program sa nenachádza na zozname podporovaných programov, preto najprv musíme pridať lokalitu, z ktorej ho stiahneme.


Iné doplnky a nastavenia:

folder = "Šablóny"
filename = "sablony.zip"
...
call(["cd ~/" + folder + " && wget -N http://www.nebojtesalinuxu.sk/data/" + filename + " && unzip -jo " + filename + " && rm " + filename], shell=True)

Ak chcete vytvoriť nový dokument, po kliknutí pravým myšítkom v nejakom adresári alebo ploche a zvolení Vytvoriť dokument si určite všimnete, že môžete vytvoriť len Prázdny súbor. Tento skript pridá do výberu 4 nové položky a to Nový Textový Dokument (.doc pre Word), Nová Tabuľka (.xls pre Excel), Nová Prezentácia (.ppt pre Powerpoint) a Nový Súbor GIMP (.xcf pre GIMP). Používame koncovky súborov typické pre Microsoft Office a nie LibreOffice (resp. OpenOffice), aby súbory vedeli ľahko otvoriť aj používatelia Windowsu. Príkazy sú optimalizované aj pre použitie v anglickom Linuxe.


call(["xmodmap -e 'pointer = 1 25 3 4 5 6 7 8 9' && touch ~/.Xmodmap && echo 'pointer = 1 25 3 4 5 6 7 8 9' > ~/.Xmodmap"], shell=True)

Ak máte v Linuxe Mint otvorený nejaký dokument a označíte slovo, stlačením prostredného tlačidla na myši to slovo skopírujete tam, kde sa momentálne nachádza kurzor. Niektorým ľuďom sa táto funkcia môže páčiť, väčšine bude ale pravdepodobne prekážať, preto ju vypíname. Ak ste náš kód už spustili a chcete si túto funkciu vyskúšať, zadajte do terminálu príkaz xmodmap -e 'pointer = 1 2 3 4 5 6 7 8 9'. Ak túto funkciu chcete mať aktívnu aj po reštarte pc, zadajte rm ~/.Xmodmap.


call(["sudo sysctl vm.swappiness=10"], shell=True)

Týmito riadkami upravíme zaobchádzanie s tzv. swap area, čo by malo v konečnom dôsledku zrýchliť počítač.


for line in fileinput.input("/et/default/prelink", inplace=True):
    print line.replace('PRELINKING=unknown', 'PRELINKING=yes'),

Aktivujeme nástroj prelink, ktorý má za úlohu zrýchliť pc vylepšením práce s knižnicami.


call(["sudo add-apt-repository -y ppa:libreoffice/ppa"], shell=True)

Pridáme umiestnenie LibreOfficu k zdrojom softvéru pre jednoduchú aktualizáciu.


call(["sudo add-apt-repository -y ppa:otto-kesselgulasch/gimp"], shell=True)
call(["sudo apt-get install -y gimp-data gimp-data-extras"], shell=True)

Pridáme umiestnenie Gimpu k zdrojom softvéru pre jednoduchú aktualizáciu + nejaké odporúčané extra doplnky.


call(["sudo apt-get purge -y mint-search-addon mint-stylish-addon oneconf ..."], shell=True)
call(["sudo apt-get autoremove -y"], shell=True)

Odstránime niektoré doplnky, ktoré by ste pravdepodobne nikdy nepoužili.


call(["sudo apt-get update && sudo apt-get -y upgrade"], shell=True)

Stiahneme všetky možné aktualizácie pre Linux a jednotlivé programy.


call(["wget -NP ~/.local/share/applications http://www.nebojtesalinuxu.sk/data/mimeapps.list"], shell=True)
call(["sudo chown " + username + ":" + username + " -R ~/.local/share/applications"], shell=True)

Stiahneme potrebný zoznam v ktorom je nastavené, ktorý typ súboru budeme otvárať ktorým programom.


call(["echo '#!/bin/bash\napt-get update\napt-get -y upgrade\napt-get -y autoclean\napt-get -y autoremove' > nsl_daily"], shell=True)
call(["sudo chmod +x nsl_daily"], shell=True)
call(["sudo chown root:root nsl_daily"], shell=True)
call(["sudo mv nsl_daily /etc/cron.daily"], shell=True)

Vytvoríme skript, ktorý aktualizuje systém každý deň.


call(["echo '#!/bin/bash\nmonth=`date +\"%m\"`\nif [ `echo \"$month % 3\" | bc` -eq 0 ]; then...' > nsl_monthly"], shell=True)
call(["sudo chmod +x nsl_monthly"], shell=True)
call(["sudo chown root:root nsl_monthly"], shell=True)
call(["sudo mv nsl_monthly /etc/cron.monthly"], shell=True)

Vytvoríme skript, ktorý prečistí počítač každé 3 mesiace.


Odporúčame vám pokračovať touto časťou.