Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Jak zapsat něco takového?:
SERVERS=()
SERVERS[ftb][name]='Name'
SERVERS[ftb][service]='abc.jar'
SERVERS[ftb][dir]='/var/abc'
SERVERS[van][name]='Van'
SERVERS[van][service]='van.jar'
SERVERS[van][dir]='/var/van'
Řešení dotazu:
public class TestServers {
private HashMap< String, Map< String, Object>> servers;
protected HashMap< String, Map< String, Object>> getServers() {
if (servers == null)
servers = new HashMap< String, Map< String,Object>>();
return servers;
}
public Object getValue(String server,String key){
return getServers().get(server).get(key);
}
public void putValue(String server,String key,Object value){
getServers().get(server).put(key, value);
}
}
SERVERS['ftb#name']='Name'. Pochopitelně pak nejde jednoduše udělat nic jako SERVERS['ftb'].
Resp. ono není problém přejít na python :) Jen jak na to pole??
SERVERS = {
'ftb': {
'name': 'Name',
'service': 'abc.jar',
'dir': '/var/abc',
},
'van': {
'name': 'Van',
'service': 'van.jar',
'dir': '/var/van',
},
}
Můžeš to klidně plnit i postupně nebo jakkoli...
Když jsme u toho. Půjde vůbec použít v konzoli. -> příkaz /var/script start ....? Jak zachytim to slovo start.
No když mám bash script, tak mohu volat /var/script start. Zachtim si slovo start a případně i nějaké argumenty. Jak toto udělat u toho pythonu?
nefunguje.
NameError: name 'argv' is not defined
Joo už to mám díky. :)
Ano jedná se o bash, viz štítek.
Jde o to, že mám script na spuštění serveru a tyto proměnné jsou potřeba pro server. Aktuálně mám dva.
Proto jsem chtěl toto pole a pak to projet přes 'foreach' a spustit po nastartování serveru.
Samozřejmě mám pak nějaké funkce jako restart stop, které chci pouštět pomocí restart name, tedy: restart van nebo restart ftb
Jak v python spustit tyto příkazy:
pgrep -u root -f $SERVICE > /dev/null
ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVERJAR
Pořád to u pomlček řve něco o mezerách :/
from __subprocess__ import print_function
import subprocess
import re
SERVICE="foobar"
NULL=open("/dev/null", "wb")
#pgrep -u root -f $SERVICE > /dev/null
subprocess.call(["pgrep", "-u", "root", "-f", SERVICE], stdout=NULL)
#ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVERJAR
# ^^^ neni lepsi pgrep screen?
SERVERJAR="hamspam"
for line in subprocess.check_output(["ps", "ax"]):
if re.search(SERVERJAR, line):
print(line, end='')
jinak viz dokumentace
from __future__ import print_function
Díky. Ale to zapisování v pthon je nějak divné-
Potřebuji spustit tennto příkaz:
'cd ' + getServer()['dir'] + ' && screen -dmS ' + getServer()['screen'] + ' java -Xms512M -Xmx2048M -XX:MaxPermSize=1024M -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=2 -XX:+AggressiveOpts -jar ' + getServer()['service'] + ' nogui'
Díky za rady :)
Ještě jedna věc. Jak spustit příkaz s parametrem po přihlášení?
Potřebuji spustit soubor /etc/init.d/minecraft startAll
systemctl enable.
Pokud neexistuje, vytvořit systemd unitu. Vyžaduje přepsat ten minecraft skript -- který zjevně ani nefunguje s normálním SysV start/stop, ale potřebuje jakési speciální příkazy -- do něčeho použitelnějšího.
Pokud není ochota cokoli udělat pořádně, tak to fakenout (a nedivit se, že je to rozbité):
[Unit] Description=Whatever # Put dependences here. [Service] Type=oneshot RemainAfterExit=yes ExecStart=/etc/init.d/minecraft startAllnebo tak něco.
Tiskni
Sdílej: