Danke. Scheint wohl doch nicht so das richtige für mich zu sein
Zu viele Kombis zu merken? ![]()
Danke. Scheint wohl doch nicht so das richtige für mich zu sein
Zu viele Kombis zu merken? ![]()
Zu viele Kombis zu merken?
Nee, das nicht. Ich mag' einfach nicht mehrere Fenster nebeneinander. Daher sagte ich ja: Ich nutz' das meiste im Vollbild
Prinzipiell find' ich die Handhabung, wie es unter Windows oder Xfce, Gnome 2 usw. lief bzw. läuft, schon nicht verkehrt (sprich, Leiste mit Knöppen "Maximieren", "Minimieren", "Schließen" usw.). Da hab' ich wohl die ganze Tiling-Geschichte so richtig missverstanden ![]()
Für die zshrc, bashrc und co: Screenfetch-Bildchen in der Shell zeigen, aber nur wenn dabei kein X läuft (Zum Beispiel für die Shell vor startx):
EDIT: Jaa ich weiß, man kann auch einfach $TERM abfragen ("xterm" bei X, "linux" bei Textmodus). Habs jetzt aber trotzdem so gelöst.
Besser $DISPLAY prüfen.
$DISPLAY geht natürlich auch. Da ich keinerlei Displaymanager nutze, sondern stattdessen über startx gehe, ist bei mir unter Arch aber immer ein xinit offen unter X.
Für alle i3-Nutzer, die das standardmäßig grausame i3status ersetzen möchten: Installiert euch i3pystatus und nehmt folgende, von mir geschriebene Config, um alle wichtigen Infos zu erhalten, eingefärbt je nach Status, inklusive Wetter und CPU-Temparatur:Python Alles anzeigenfrom i3pystatus import Status status = Status(standalone=True) status.register("clock", format="%a %-d %b %X KW%V", ) status.register("temp", format="CPU: {temp:.0f}°C", ) status.register("runwatch", name="DHCP", path="/var/run/dhclient*.pid", ) status.register("network", interface="enp0s25", format_up="{v4cidr}", ) status.register("network", interface="wlp3s0", format_up="{essid} {quality:3.0f}% ({v4cidr})", ) status.register("disk", path="/", format="/: {avail}GB", ) status.register("battery", format="{status} {percentage:.2f}% {remaining:%E%hh:%Mm}", full_color="#00ff00", color="#FFFF00", charging_color="#00ff00", alert=True, alert_percentage=7, status={ "DIS": "Akku", "CHR": "Lade", "FULL": "Voll", }, ) # location_codes unter: https://weather.codes/germany/ status.register("weather", location_code="GMXX0446", format="Sonsbeck: {current_temp}", colorize=False, units="metric", on_leftclick="qutebrowser http://www.weather.com/de-DE/wetter/heute/l/GMXX0446" ) status.register("weather", location_code="GMXX0028", format="Düsseldorf: {current_temp}", colorize=False, units="metric", on_leftclick="qutebrowser http://www.weather.com/de-DE/wetter/heute/l/GMXX0028" ) status.run()
Wenn ich i3pystatus installiert habe, wo pack ich dann die Konfig hin? Hätte i3pystatus gerne, weil i3status keinen mpc unterstützt.
Wenn ich i3pystatus installiert habe, wo pack ich dann die Konfig hin? Hätte i3pystatus gerne, weil i3status keinen mpc unterstützt.
Der Clou ist, dass die Konfigurationsdatei gleichzeitig das ausgeführte Python-Skript ist, das sich nur i3pystatus importiert. Wie in der Dokumentation beschrieben, kannst du es an beliebiger Stelle ablegen und ausführbar machen. Entweder indem du den entsprechenden Pfad zur Python-3-Installation in das Skript einträgst (z. B. #!/usr/bin/python3.4) oder explizit Python aus i3 heraus aufrufst:
Genau wie Dosamp sagt. Hier mal meine i3-Config, in der das auch mit eingebunden ist:
# vim:filetype=i3
set $mod Mod4
font pango:Roboto 10
floating_modifier $mod
bindsym $mod+Shift+q kill
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
bindsym $mod+a focus parent
#bindsym $mod+d focus child
bindsym $mod+v split vertical
bindsym $mod+h split horizontal
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
mode "resize"
{
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
bar
{
status_command python ~/.config/i3/i3pystatus_config.py
workspace_buttons yes
}
# Baustelle: Window-Assigns
#assign [class="^Kalender"] 10
#assign [class="pidgin"] 1
#assign [class="telegram"] 1
#assign [class="skype"] 1
#assign [class="firefox"] 2
#assign [class="thunderbird"] 3
#assign [class="localc"] 9
# Shortcuts
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
bindsym $mod+Return exec --no-startup-id i3-sensible-terminal
bindsym $mod+d exec i3-dmenu-desktop
bindsym XF86MonBrightnessDown exec --no-startup-id sudo bright_down
bindsym XF86MonBrightnessUp exec --no-startup-id sudo bright_up
bindsym XF86AudioRaiseVolume exec pamixer --increase 5
bindsym XF86AudioLowerVolume exec pamixer --decrease 5
bindsym XF86AudioMute exec pamixer -t
bindsym XF86LaunchA exec --no-startup-id /usr/local/bin/touchpad_toggle.sh &
bindsym --release Print exec --no-startup-id import -window root ~/Bilder/Screens/screen_$(date +%Y-%m-%d_%H-%M-%S).png
bindsym $mod+l exec --no-startup-id xscreensaver-command --lock &
bindsym $mod+shift+l exec --no-startup-id leafpad &
bindsym $mod+x [urgent=latest] focus
bindsym $mod+b exec --no-startup-id firefox &
bindsym $mod+n exec --no-startup-id nemo &
bindsym $mod+z exec --no-startup-id google-chrome-stable --app=http://zattoo.com &
bindsym $mod+j exec --no-startup-id feh --bg-fill "$(find /home/afeld/Bilder/Wallpaper/ | shuf -n1)" &
bindsym $mod+F2 exec --no-startup-id xfce4-appfinder &
# Autostart
exec --no-startup-id /usr/local/bin/touchpad_toggle.sh &
exec --no-startup-id feh --bg-scale Bilder/Wallpaper/Chrome\ OS\ Wallpapers/20130206-212207_image\ \(13\)_high_resolution.jpg &
exec --no-startup-id xscreensaver -no-splash &
exec --no-startup-id dunst &
exec --no-startup-id shutter --min_at_startup &
exec --no-startup-id autokey-gtk &
exec --no-startup-id /usr/local/bin/syno_office.sh &
#exec --no-startup-id polly --minimized &
Alles anzeigen
Den bindsym zum dmenu folgendermaßen ändern:
bindsym $mod+d exec i3-dmenu-desktop
Das sorgt dann dafür, dass dmenu nur GUI-Programme anzeigt. Der Rest der Config ist recht verständlich denke ich.
Mein Tipp für schönere Darstellung: Die Roboto-Font aus dem AUR installieren und die Zeile font pango:Roboto 10 nutzen
Genau wie Dosamp sagt. Hier mal meine i3-Config, in der das auch mit eingebunden ist:Code Alles anzeigen# vim:filetype=i3 set $mod Mod4 font pango:Roboto 10 floating_modifier $mod bindsym $mod+Shift+q kill bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right bindsym $mod+f fullscreen toggle bindsym $mod+s layout stacking bindsym $mod+w layout tabbed bindsym $mod+e layout toggle split bindsym $mod+Shift+space floating toggle # change focus between tiling / floating windows bindsym $mod+space focus mode_toggle bindsym $mod+a focus parent #bindsym $mod+d focus child bindsym $mod+v split vertical bindsym $mod+h split horizontal # switch to workspace bindsym $mod+1 workspace 1 bindsym $mod+2 workspace 2 bindsym $mod+3 workspace 3 bindsym $mod+4 workspace 4 bindsym $mod+5 workspace 5 bindsym $mod+6 workspace 6 bindsym $mod+7 workspace 7 bindsym $mod+8 workspace 8 bindsym $mod+9 workspace 9 bindsym $mod+0 workspace 10 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace 1 bindsym $mod+Shift+2 move container to workspace 2 bindsym $mod+Shift+3 move container to workspace 3 bindsym $mod+Shift+4 move container to workspace 4 bindsym $mod+Shift+5 move container to workspace 5 bindsym $mod+Shift+6 move container to workspace 6 bindsym $mod+Shift+7 move container to workspace 7 bindsym $mod+Shift+8 move container to workspace 8 bindsym $mod+Shift+9 move container to workspace 9 bindsym $mod+Shift+0 move container to workspace 10 mode "resize" { bindsym j resize shrink width 10 px or 10 ppt bindsym k resize grow height 10 px or 10 ppt bindsym l resize shrink height 10 px or 10 ppt bindsym semicolon resize grow width 10 px or 10 ppt bindsym Left resize shrink width 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+r mode "resize" bar { status_command python ~/.config/i3/i3pystatus_config.py workspace_buttons yes } # Baustelle: Window-Assigns #assign [class="^Kalender"] 10 #assign [class="pidgin"] 1 #assign [class="telegram"] 1 #assign [class="skype"] 1 #assign [class="firefox"] 2 #assign [class="thunderbird"] 3 #assign [class="localc"] 9 # Shortcuts bindsym $mod+Shift+c reload bindsym $mod+Shift+r restart bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" bindsym $mod+Return exec --no-startup-id i3-sensible-terminal bindsym $mod+d exec i3-dmenu-desktop bindsym XF86MonBrightnessDown exec --no-startup-id sudo bright_down bindsym XF86MonBrightnessUp exec --no-startup-id sudo bright_up bindsym XF86AudioRaiseVolume exec pamixer --increase 5 bindsym XF86AudioLowerVolume exec pamixer --decrease 5 bindsym XF86AudioMute exec pamixer -t bindsym XF86LaunchA exec --no-startup-id /usr/local/bin/touchpad_toggle.sh & bindsym --release Print exec --no-startup-id import -window root ~/Bilder/Screens/screen_$(date +%Y-%m-%d_%H-%M-%S).png bindsym $mod+l exec --no-startup-id xscreensaver-command --lock & bindsym $mod+shift+l exec --no-startup-id leafpad & bindsym $mod+x [urgent=latest] focus bindsym $mod+b exec --no-startup-id firefox & bindsym $mod+n exec --no-startup-id nemo & bindsym $mod+z exec --no-startup-id google-chrome-stable --app=http://zattoo.com & bindsym $mod+j exec --no-startup-id feh --bg-fill "$(find /home/afeld/Bilder/Wallpaper/ | shuf -n1)" & bindsym $mod+F2 exec --no-startup-id xfce4-appfinder & # Autostart exec --no-startup-id /usr/local/bin/touchpad_toggle.sh & exec --no-startup-id feh --bg-scale Bilder/Wallpaper/Chrome\ OS\ Wallpapers/20130206-212207_image\ \(13\)_high_resolution.jpg & exec --no-startup-id xscreensaver -no-splash & exec --no-startup-id dunst & exec --no-startup-id shutter --min_at_startup & exec --no-startup-id autokey-gtk & exec --no-startup-id /usr/local/bin/syno_office.sh & #exec --no-startup-id polly --minimized &Den bindsym zum dmenu folgendermaßen ändern:
bindsym $mod+d exec i3-dmenu-desktopDas sorgt dann dafür, dass dmenu nur GUI-Programme anzeigt. Der Rest der Config ist recht verständlich denke ich.
Mein Tipp für schönere Darstellung: Die Roboto-Font aus dem AUR installieren und die Zeile font pango:Roboto 10 nutzen
Ok habs soweit verstanden.
Nur eins noch: Es fehlt das Modul netifaces. Installiert hab ich es, nur wie importiere ich es jetzt?
Richtiges Modul installiert?
aur/python-netifaces
Das nutze ich.
Nach einem Reload von i3 ($mod+shift+r) sollte die Anzeige dann gehen.
Richtiges Modul installiert?
aur/python-netifaces
Das nutze ich.Nach einem Reload von i3 ($mod+shift+r) sollte die Anzeige dann gehen.
Falsches Modul erwischt. Jetzt tut es.
i3status ist nicht hässlich. Aber bin ja minimalistisch.
i3status ist nicht hässlich. Aber bin ja minimalistisch.
Ich hab mit i3status n ganz anderes Problem. Keine MPD-Unterstüzung.
Wie dem auch sei. Ich bin erstmal auf i3status zurück und werde dann nach und nach ne Python-Konfig basteln.
Wer ziemlich basic RSA Fault Attacks simulieren will, dem helfe ich hiermit:
https://github.com/stolzATrub/rsa…ack/rsafault.py
#!/bin/bash
source=/home/tkoehler/Dokumente/
target=/mnt/nuketown/Dokumente
date=`date "+%Y-%m-%dT%H:%M:%S"`
cd /mnt/nuketown/
function backup() {
rsync -rvu $source $target --link-dest=/mnt/nuketown/misc/.backup_daily.0
}
function rotate_daily() {
cd /mnt/nuketown/misc
mv .backup_daily.6 .backup_daily.7
mv .backup_daily.5 .backup_daily.6
mv .backup_daily.4 .backup_daily.5
mv .backup_daily.3 .backup_daily.4
mv .backup_daily.2 .backup_daily.3
mv .backup_daily.1 .backup_daily.2
mv .backup_daily.0 .backup_daily.1
}
function rotate_weekly
mv .backup_daily.7 .backup_weekly.$(date --date="-1 week")
mkdir .backup_daily.7
function doc_sync () {
rsync -rvu /mnt/nuketown/misc/Dokumente/ tkoehler@10.24.6.2::trainstation/Dokumente
rsync -rvu tkoehler@10.24.6.2::trainstation/Dokumente /mnt/nuketown/misc/Dokumente
}
Alles anzeigen
Auf die Schnelle zusammengehackt. Brauche endlich ne Rotation bei den Backups
while true; do mplayer http://www.shadowtux.info/m2.ogg; done
In einer Screen-Session ausführen und die detachen.
Pseudocode aus dem Skript mal nach Computer übersetzt zum Lösung kontrollieren:
euclid :: Integral a => (a, a) -> (a, a, a)
euclid (a, b) =
let q = a `div` b
r = a `mod` b
in
if r == 0
then (b, 0, 1)
else let (d, l, m) = euclid (b, r)
in (d, m, l - q * m)
Siehe https://www.mathb.rwth-aachen.de:8042/Skript-Hanke-Hiss-Oct2013.pdf Seite 56 (58 im PDF)
Halbfertiges Backupscript
#!/bin/bash
parameter=$1
CURRENT_CLIENT="${HOME}/.backup.current"
CURRENT_SERVER="/data/nuketown/misc/.backup/.backup_current"
DAY="$(date +%F)"
# Syncronisierung von Dokumenten, auf ares nach athene liegen.
# Ausdrückliche Warnung! Dokumente, welche auf athene neuer sind, als auf Ares, werden mittels --delete gelöscht!
servsync() {
rsync -rvu /mnt/nuketown/
}
clientbackup() {
rsync -av link-dest="$CURRENT_SERVER"${HOME}/Dokumente /data/nuketown/misc/Dokumente/
rsync -rvu ${HOME}/Downloads /data/nuketown/misc/Incomming
rsync -rvu ${HOME}/Musik /data/nuketown/music
}
clientsync() {
rsync -rvu /data/nuketown/misc/Dokumente/ ${HOME}/Dokumente
rsync -rvu /data/nuketown/music/ ${HOME}/Musik
}
rotate() {
mkdir /data/nuketown/misc/.backup/.backup_$DAY
}
test() {
echo "test"
}
case $parameter in
servsync) servsync
;;
clientbackup) clientbackup
;;
clientsync) clientsync
;;
rotate) rotate
;;
test) test
;;
*) echo Es stehen nur die Funktionen servsync, clientsync, rotate und test zur Verfügung!
;;
esac
Alles anzeigen
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!