Skip to content

Latest commit

 

History

History
1522 lines (1256 loc) · 56 KB

arch.org

File metadata and controls

1522 lines (1256 loc) · 56 KB

Arch GNU/Linux CheatSheet

Change the virtual console keyboard layout

The virtual console is the “shell” that you use to log into and startx. The virtual console is started before any graphical interface, and it’s implemented in the kernel!!! wow!!!

temporarily

loadkeys dvorak

permanently

Create the following file with the following content.

cat /etc/vconsole.conf

To see available keymaps localectl lest-keymaps

localectl list-keymaps | egrep -m 10 ".*"

Configuring Xorg Settings (keyboard layout)

You can tweak some of these settings w/ evtest tool

change the X keyboard layout & swap caps

  • do it through .xinitrc
    cd ~/; cat .xinitrc | grep xkb;
        

tweaking X11 settings

Frequently Used Options

 Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
    # You can enable or disable tap buttons
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"

        # disable trackpad whilst typing
        PalmDetect=1
        # tweak the minimum amount of touch your palm has to touch to be considered a touch
        PalmMinWidth=8
        # tweak the minimum pressure to be considered a palm
        PalmMinZ=100
        # scrolling when you slide your finger down the edge of the track pad
        Option "VertEdgeScroll" "on"
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option "CircularScrolling" "on"
        Option "CircScrollTrigger" "2"
        Option "EmulateTwoFingerMinZ" "40"
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "0"
        Option "FingerLow" "35"
        Option "FingerHigh" "40"
EndSection
 Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
    # You can enable or disable tap buttons
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"

        # disable trackpad whilst typing
        PalmDetect=1
        # tweak the minimum amount of touch your palm has to touch to be considered a touch
        PalmMinWidth=8
        # tweak the minimum pressure to be considered a palm
        PalmMinZ=100

EndSection

disable tapping buttons (lightly touching the mouse, NOT clicking it)

 Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
    # You can enable or disable tap buttons
        Option "TapButton1" "1"
        Option "TapButton2" "2"
        Option "TapButton3" "3"

EndSection

60-libinput.conf

The etc/X11/xorg.conf.d directory stores host-specific configuration. You are free to add configuration files there, but they must have a .conf suffix: the files are read in ASCII order, and by convention their names start with XX- (two digits and a hyphen, so that for example 10 is read before 20). These files are parsed by the X server upon startup and are treated like part of the traditional xorg.conf configuration file. The X server essentially treats the collection of configuration files as one big file with entries from xorg.conf at the end.

Section “InputClass” Identifier “libinput pointer catchall” MatchIsPointer “on” MatchDevicePath “/dev/input/event*” Driver “libinput” EndSection

Section “InputClass” Identifier “libinput keyboard catchall” MatchIsKeyboard “on” MatchDevicePath “/dev/input/event*” Driver “libinput” EndSection

Section “InputClass” Identifier “libinput touchpad catchall” MatchIsTouchpad “on” MatchDevicePath “/dev/input/event*” Driver “libinput” EndSection

Section “InputClass” Identifier “libinput touchscreen catchall” MatchIsTouchscreen “on” MatchDevicePath “/dev/input/event*” Driver “libinput” EndSection

auto login at end of boot and auto start x non-graphically

/etc/systemd/system/[email protected]/override.conf

[Service] ExecStart= ExecStart=-/usr/bin/agetty –autologin USERNAME –noclear %I $TERM

  • Install the xorg-xinit package
  • Add this to the bottom of ~/.bash_profile
    [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
        
  • Add this to the bottom of your ~/.xinitrc
    exec WINDOW-manager
        

    It could be

    exec awesome
        

    Or

    exec gnome-session
        

    Or

    startkde
        

    If you do not see the desktop environment or window manager of your choice, check the arch wiki page of that environment or window manager. It will normally tell you how to start it via ~/.xinitrc

systemd

Systemd is the init system for Arch GNU/Linux and several other distros. It replaces SvInit, which is a bash based init system, that is very outdated. One can use systemd to start various programs on boot. After boot, one can check the status of those programs, restart them, stop them, or enable new ones to start at boot.

Systemd also comes bundled with a journal called journald. Journald stores all of its logging information in a binary format, so to query the log, you need to use journald (or write your own piece of software to do it for you).

systemd commands

Show the system status

systemctl status

Check on an individual unit

Let’s see if Apache is running.

systemctl status httpd.service

And it is good.

stop/start/restart

su
systemctl stop httpd
su
systemctl start httpd
su
systemctl restart httpd

enable/disable systemd services

su
systemctl disable httpd
su
systemctl enable httpd

using systemd as a cron replacement

Systemd’s timestamps have the format

[day] [<year>-<month>-<day>] [<hour in military time>:<minutes>:<seconds>]

For example: Tue 2015-01-03 16:34:42

Systemd is a much better replacement of using cron jobs! It gives you some nice logging information about your units. You can use the following units to refer to time:

  • s –> seconds ie: 5s is 5 seconds
  • m –> minutes ie: 5m is 5 minutes
  • h –> hours ie: 5h is 5 hours
  • d –> days ie: 5d is 5 days
  • w –> weeks ie: 5w is 5 weeks
  • m –> months ie: 5m is 5 months
  • y –> years ie: 5y is 5 years

    Systemd’s repeating events format is the following:

    [<day of week>[,<another day of the week>][,…]] DAY TIME

    An example of this is: Thu,Fri 2012-*-1,5 11:12:13

    This means that at approximately 11:12am of any month in 2012, where it is the 1st or 5th of the month, systemd will execute this unit. Think of * as the regexp “.*”, anything can go inside the “*”.

    To clarify systemd’s repeating notation let’s take a look at some examples:

    hourly → *-*-* *:00:00 So valid timestamps that this includes are: 2015-01-01 2015-01-02 2015-01-03 2015-02-01 2015-02-02 2015-02-03 2016-02-01 2016-02-02 2016-02-03

    This means that any day of the year this event will take place. Ok what about at what time? Well valid time stamps include every hour of the day! like these: *-*-* 06:00:00 *-*-* 07:00:00 *-*-* 08:00:00 *-*-* 10:00:00 *-*-* 11:00:00 *-*-* 12:00:00 *-*-* 18:00:00 So, at every hour, this systemd will trigger this event.

    Let’s see what daily means. daily → *-*-* 00:00:00 Valid timestamps that could fix here include: 2016-01-01 00:00:00 2016-01-02 00:00:00 2016-01-03 00:00:00 2016-02-01 00:00:00 2016-02-02 00:00:00 2016-02-03 00:00:00 2015-02-01 00:00:00 2015-02-02 00:00:00 2015-02-03 00:00:00

    So on any day at midnight, systemd will trigger this event.

Here is a complicated example:

mon,fri *-1/2-1,3 *:30:45 → Mon,Fri *-01/2-01,03 *:30:45

This means that any Monday or Friday on any year, during January or February, on the 1st or 3rd day,

Here are some more examples taken from the systemd wiki.

     Sat,Thu,Mon-Wed,Sat-Sun → Mon-Thu,Sat,Sun *-*-* 00:00:00
     Mon,Sun 12-*-* 2,1:23 → Mon,Sun 2012-*-* 01,02:23:00
                   Wed *-1 → Wed *-*-01 00:00:00
           Wed-Wed,Wed *-1 → Wed *-*-01 00:00:00
                Wed, 17:48 → Wed *-*-* 17:48:00
Wed-Sat,Tue 12-10-15 1:2:3 → Tue-Sat 2012-10-15 01:02:03
               *-*-7 0:0:0 → *-*-07 00:00:00
                     10-15 → *-10-15 00:00:00
       monday *-12-* 17:00 → Mon *-12-* 17:00:00
 Mon,Fri *-*-3,1,2 *:30:45 → Mon,Fri *-*-01,02,03 *:30:45
      12,14,13,12:20,10,30 → *-*-* 12,13,14:10,20,30:00
 mon,fri *-1/2-1,3 *:30:45 → Mon,Fri *-01/2-01,03 *:30:45
            03-05 08:05:40 → *-03-05 08:05:40
                  08:05:40 → *-*-* 08:05:40
                     05:40 → *-*-* 05:40:00
    Sat,Sun 12-05 08:05:40 → Sat,Sun *-12-05 08:05:40
          Sat,Sun 08:05:40 → Sat,Sun *-*-* 08:05:40
          2003-03-05 05:40 → 2003-03-05 05:40:00
05:40:23.4200004/3.1700005 → 05:40:23.420000/3.170001
      2003-03-05 05:40 UTC → 2003-03-05 05:40:00 UTC
                2003-03-05 → 2003-03-05 00:00:00
                     03-05 → *-03-05 00:00:00
                    hourly → *-*-* *:00:00
                     daily → *-*-* 00:00:00
                 daily UTC → *-*-* 00:00:00 UTC
                   monthly → *-*-01 00:00:00
                    weekly → Mon *-*-* 00:00:00
                    yearly → *-01-01 00:00:00
                  annually → *-01-01 00:00:00
                     *:2/3 → *-*-* *:02/3:00

journal commands

-b show message from this org previous boots

journalctl -b shows messages from this boot journalctl -b -N shows messages from the nth boot ago

–since=”<date> [time]”

journalctl --since="2016-03-28 10:42:16"

show messages tied to 1 binary

journalctl “path to binary”

journalctl -b /usr/lib/systemd/systemd-networkd

filter by process id

ps -e | grep httpd

Let’s see any logs from pid 24738

journalctl -b _PID=24738
journalctl -bu httpd.service

I disabled the avahi daemon. I do not need it.

Networking

creating persistent internet device names

https://wiki.archlinux.org/index.php/Network_configuration#Change_device_name

When you first start your computer your internet device names will be odd like this:

ip link

To fix this, just create some default rules that use the devices MAC address to name it something readable.

cat /etc/udev/rules.d/10-network.rules;
# make my wifi be named wifi0
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="60:33:4b:09:d2:da", NAME="wifi0"
#make my ethernet be
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="60:33:4b:8e:60:d0", NAME="neteth0"

Using netctl to connect to the internet automatically via wireless and ethernet

https://wiki.archlinux.org/index.php/Netctl#Configuration

Use some of the examples from

ls /etc/netctl/examples/

Automatic wired connections

cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/ethernet-dhcp;

Then you just need to change the device name to your device. Here, I’ve changed Interface=eth0 to Interface=neteth0

su
  cat /etc/netctl/neteth0-dhcp | grep Interface

Download and install ifplugd, which is the arch package that handles ethernet connections.

su
pacman -S ifplugd
su
systemctl start [email protected]
systemctl enable [email protected]

Controlling network traffick

nftables is the NEW way of implementing networking rules on your machine:

One can block all incoming traffic from Facebook, block specified ports, etc.

IPTables is the OLD way of implementing networking rules on your machine.

With it you can block all incoming data from facebook, a specified port, etc.

If you totally screw up your iptables, you can change them back to the default values:

I tried to set up the simple stateful firewall, but then my internet would randomly go down. So I’m guessing that whoever made that firewall on the wiki didn’t really know what they were doing. Anyway, the next time that you try to do the simple stateful firewall, you can always put the system back to the way that it was with the following script:

su
  iptables -F
  iptables -X
  iptables -t nat -F
  iptables -t nat -X
  iptables -t mangle -F
  iptables -t mangle -X
  iptables -t raw -F
  iptables -t raw -X
  iptables -t security -F
  iptables -t security -X
  iptables -P INPUT ACCEPT
  iptables -P FORWARD ACCEPT
  iptables -P OUTPUT ACCEPT
  iptables-save > /etc/iptables/iptables.rules
  cat /etc/iptables/iptables.rules
  systemctl restart iptables
  ip link set neteth0 up

You can then check the state of the device via:

ip link

Now don’t think that this is the typical output. I’ve personally renamed my internet devices, so your names might look different. Your wifi device is probably starts with a “w” and the ethernet with a “e”.

ip link show dev neteth0

If you see “state UP”, then the device is connected!

If you see “state DOWN”, then the device is not connected.

simple state firewall

cat /etc/iptables/iptables.rules.backup

Apache

Mariadb

Unable to get the mariadb daemon to start

sudo systemctl start mysqld.service

You might try a:

mysql_update_root -p

enabling and disabling network interfaces (turning on/off wifi and ethernet)

ip addr show
su
ip link set neteth0 up

Show your internet devices:

ip addr show

See the status for just 1 device, and you can see that the device “neteth0”, which is my ethernet card, is not connected to the internet. I know that because I see state DOWN.

ip link show dev neteth0
su
ip link set neteth0 up
su
ip link set neteth0 down

Apache

getting .phtml files to run as php code and php-fpm

php-fpm is a module for apache that runs php code super fast. To let phtml code to run you’ll need to follow this guide, but change etc/httpd/conf/extra/php-fpm.conf to

<FilesMatch \.ph[phtml].*$>
    SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
</FilesMatch>
<Proxy "fcgi://localhost/" enablereuse=on max=10>
</Proxy>
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

You may also need to uncomment the following line in /etc/php/php-fpm.d/www.conf and add “.phtml”

cat /etc/php/php-fpm.d/www.conf | grep -B 6 "phtml"

Then you will have to restart httpd and php-fpm

su
systemctl restart httpd
systemctl restart php-fpm

Apache runs as user “http” and serves the files from http. Perhaps your files do not have the correct permissions? I have my html in ~/programming/waypoint, but I’ve created a symlink from srv/http to ~/programming/waypoint. That is why you see the lots of “->” in the next command. “->” means symlink.

ls -lh /srv/http

ls -lh ~/programming/ | grep waypoint

You can see that the owner is “joshua” and the group is “http”.

[WARNING] [pool www] server reached pm.max_children setting (5), consider raising it

Arch GNU/Linux configuration is located in /etc/php/php-fpm.d/www.conf, and pm.max_children is

The number of child processes to be created when pm is set to static and the maximum number of child processes to be created when pm is set to dynamic. This option is mandatory.

This option sets the limit on the number of simultaneous requests that will be served. Equivalent to the ApacheMaxClients directive with mpm_prefork and to the PHP_FCGI_CHILDREN environment variable in the original PHP FastCGI.

You can read more here.

cat /etc/php/php-fpm.d/www.conf | grep "pm.max_children" -A 5 -B 3

killing programs

The information for killing programs for this program was be found here.

killall

killall PROGRAMNAME

Killall kills all processes with the name PROGRAMNAME. You might have to run it twice to kill the program successfully.

For example to kill all the terminals with:

killall lxterminal

That command sends the termination signal to all processes with the name “lxterminal”. killall NAME is the safest way to kill a non-responsive (or even responsive) program.

BUT, if your program does not shutoff when you execute killall name, you can try

killall -SIGHUG NAME

This reloads configuration files and open/closes log files. I’m not sure if it actually kills the program.

If you still can’t close the program try:

killall -SIGKILL

This sends the kill signal. The program exists as fast as it can, without saving any data.

kill

kill <process ID>

kill, kills the process ID.

So suppose I have several firefox instances running. killall firefox would kill every instance of firefox. I only want to kill the nonresponsive firefox. That’s where kill comes it. It only kills the 1 process ID.

kill PROGRAMNAME

Kill with the name PROGRAMNAME. You might have to run it twice to kill the program successfully.

For example to kill all the terminals with:

kill lxterminal

That command sends the termination signal to all processes with the name “lxterminal”. kill NAME is the safest way to kill a non-responsive (or even responsive) program.

BUT, if your program does not shutoff when you execute kill name, you can try

kill -SIGHUG NAME

This reloads configuration files and open/closes log files. I’m not sure if it actually kills the program.

If you still can’t close the program try:

kill -SIGKILL NAME

This sends the kill signal. The program exists as fast as it can, without saving any data.

Thunar

Thunar will automount media, which is quite cool!

You need to have thunar-volman installed to get it working properly.

You need to have thunar --daemon auto-started when you login.

thunar-volman-settings lets you configure what command to run to auto mount media.

To automount and run a DVD you only need to specify vlc /dev/sr0

VLC web interface

VLC can be controlled by a web browser.

vlc --extraintf=http --http-host 0.0.0.0:8080 --http-password 'YourPasswordHere'

<<<<<<< variant A Now navigate to http://127.0.0.1:8080, and you can manage VLC with your web browser! >>>>>>> variant B Killall kills all processes with the name PROGRAMNAME. You might have to run it twice to kill the program successfully. ======= end

Just enter in the password and leave the username blank.

Problems I’m trying to solve

my ethernet randomly loses connection:

  • State “DONE” from “TODO” [2016-04-15 Fri 07:57]
  • State “TODO” from [2016-03-29 Tue 19:06]

I seemed to be using a bad ethernet cord. I switched ethernet cords and my laptop now works fine. BUT the “bad” ethernet cord is powering my desktop, and it doesn’t have a problem staying connected to the internet. Maybe my laptop is just a wuss at connecting to the internet.

When this happens, I try to see the status of my ethernet device.

su
ip link show dev neteth0

Apparently my ethernet device is currently down. Ok, let’s set it up.

su
ip link set neteth0 up

Let’s see if that turned the device up.

su
ip link show dev neteth0

Nope the device is still down. Ok let’s see what systemd can tell us. Let’s check on the status of systemd-networkd, which is what I use to configure my dhcp ethernet connection.

su
systemctl status systemd-networkd

It looks like networkd is still running, but I don’t have internet either.

Well I see an error for neteth0: Could not drop address: No such process. Maybe I can get some more details by consulting the journal. Let’s only show messages from this boot and only showing the logging info from networkd binary.

journalctl -b /usr/lib/systemd/systemd-networkd

Well I see that neteth0 was renamed to eth0, then renamed to neteth0 again. Is that causing an issue? I see that IPv6 is being used. How can I shut that off?

I also see that neteth0 lost the carrier. What does that mean?

I also see that neteth0 could not drop address: No such process. What does that mean? Maybe my resolv.conf doesn’t have any DHCP servers available. Let’s check:

su
cat /etc/resolv.conf

Well I have 2 nameservers defined. I believe those are from OpenDNS or something, NOT the default matchbox ones.

So what is wrong? Why am I losing my internet connection?

Something ping does not work.

ping -c 5 www.google.com

BUT I’m still connected to the internet!??

ip link show dev neteth0
grep "OnCalendar=" /etc/systemd/system/[email protected]

Reload the configuration

su
systemctl daemon-reload
su
systemctl daemon-reload
systemctl start [email protected]

Well when I turn on my computer, it shuts down

  • State “TODO” from “DONE” [2016-03-31 Thu 18:59]
  • State “DONE” from “TODO” [2016-03-29 Tue 19:06]
  • State “TODO” from [2016-03-29 Tue 19:05]
What service could it be?
su
sudo systemctl disable halt.service
sudo systemctl disable poweroff.service
sudo systemctl disable reboot.service

Well I am going to try to disable these services, and see if that helps

su
systemctl disable ctrl-alt-del.target
systemctl disable exit.target
systemctl disable halt.target
systemctl disable poweroff.target
systemctl disable reboot.target

The problem was laptop mode tools. This thread suggested that I should uninstall laptop mode tools, which I did. https://bbs.archlinux.org/viewtopic.php?id=209100

How do I kill a program if killall PROGRAMNAME and kill PID fails?

  • State “DONE” from “TODO” [2016-04-16 Sat 09:58]
  • State “TODO” from [2016-04-01 Fri 08:31]

When I shutdown ifplugd causes systemd to pause while it tries to shutoff.

  • State “TODO” from [2016-04-18 Mon 08:43]

I cannot print any files in GNU/Linux

  • State “TODO” from [2016-04-16 Sat 09:58]
Read the relevant documentation on CUPS and LPRng avahi daemon apparently can help me find printers on the network!

Various issues I saw with systemd’s log when examinging journalctl -b -1

avahi scan the network looking for printers

Apr 18 08:11:04 parabola nscd[352]: 352 cannot create /var/db/nscd/passwd; no persistent database used
Apr 18 08:11:04 parabola nscd[352]: 352 cannot create /var/db/nscd/group; no persistent database used
Apr 18 08:11:04 parabola nscd[352]: 352 cannot create /var/db/nscd/hosts; no persistent database used
Apr 18 08:11:04 parabola nscd[352]: 352 cannot create /var/db/nscd/services; no persistent database used
Apr 18 08:11:04 parabola nscd[352]: 352 cannot create /var/db/nscd/netgroup; no persistent database used

avahi, is a program that scans the network looking for printers.

Apr 18 08:11:05 parabola avahi-daemon[335]: Failed to find group 'avahi'.

php stuff

My php.ini file has a syntax error.

Apr 18 08:11:06 parabola php-fpm[337]: PHP:  syntax error, unexpected '$' in /etc/php/php.ini on line 1876

php can’t load a module

Apr 18 08:11:07 parabola php-fpm[337]: [18-Apr-2016 08:11:07] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/openssl.so' - /usr/lib/php/modules/openssl.so: cannot open shared object file: No such file or directory in Unknown on line 0

Event buttons. Cool!

Apr 18 08:11:08 parabola systemd-logind[332]: Watching system buttons on /dev/input/event4 (Power Button)
Apr 18 08:11:08 parabola systemd-logind[332]: Watching system buttons on /dev/input/event5 (Video Bus)
Apr 18 08:11:08 parabola systemd-logind[332]: Watching system buttons on /dev/input/event2 (Power Button)
Apr 18 08:11:08 parabola systemd-logind[332]: Watching system buttons on /dev/input/event1 (Lid Switch)
Apr 18 08:11:08 parabola systemd-logind[332]: Watching system buttons on /dev/input/event3 (Sleep Button)

What is this http error?

Apr 18 08:11:08 parabola httpd[341]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::6233:4bff:fe8e:60d0. Set the 'ServerName' directive globally to suppress this message

The shutdown error?

Is it a logind thing?

Apr 18 08:11:13 parabola systemd-logind[332]: System is powering down.
Apr 18 08:11:13 parabola login[457]: pam_tally(login:auth): pam_get_uid; no such user
Apr 18 08:11:13 parabola systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
Apr 18 08:11:13 parabola login[453]: pam_systemd(login:session): Failed to create session: Start job for unit [email protected] failed with 'canceled'
Apr 18 08:11:13 parabola systemd[1]: Stopping Save/Restore Sound Card State...
Apr 18 08:11:13 parabola polkitd[422]: Unregistered Authentication Agent for unix-process:559:2422 (system bus name :1.6, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Apr 18 08:11:14 parabola dhcpcd[398]: forked to background, child pid 603
Apr 18 08:11:14 parabola ifplugd[325]: client: Started network profile 'neteth0-dhcp'
Apr 18 08:11:14 parabola ifplugd[325]: Program executed successfully.
Apr 18 08:11:16 parabola systemd-bootchart[148]: systemd-bootchart wrote /run/log/bootchart-20160418-0811.svg
Apr 18 08:11:16 parabola systemd-bootchart[148]: Bootchart created: /run/log/bootchart-20160418-0811.svg
Apr 18 08:11:16 parabola mysqld[413]: 2016-04-18  8:11:16 140682628630400 [Note] InnoDB: 128 rollback segment(s) are active.
Apr 18 08:11:16 parabola mysqld[413]: 2016-04-18  8:11:16 140682628630400 [Note] InnoDB: Waiting for purge to start
Apr 18 08:11:16 parabola mysqld[413]: 2016-04-18  8:11:16 140682628630400 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.28-76.1 started; log sequence number 871904946
Apr 18 08:11:17 parabola emacs[508]: Warning: due to a long standing Gtk+ bug
Apr 18 08:11:17 parabola emacs[508]: http://bugzilla.gnome.org/show_bug.cgi?id=85715
Apr 18 08:11:17 parabola emacs[508]: Emacs might crash when run in daemon mode and the X11 connection is unexpectedly lost.
Apr 18 08:11:17 parabola emacs[508]: Using an Emacs configured with --with-x-toolkit=lucid does not have this problem.

gpg does not work on Parabola anymore.

This is why.

cat ~/.gnupg/gpg-agent.conf

This fix makes gpg work on GuixSD, but then Parabola cannot find that program.

mount iso images

In unix this is called a loop device. It’s a way to mount files on the filesystem.

php

installing xdebug

sudo pacman -S xdebug

grub

boot from grub to a usb stick

As soon as you see the grub command line press the “c” key. You’ll be dropped into a grub shell. You’ll know you’re there, because you’ll see

grub >

Now, this is what you type

set root=(

Now press TAB and grub will give you some options. Grub will expand what you wrote into

set root=(hd

Grub will then tell you to either press 1 or 0. hd0 is your hard drive. You don’t want that. So type

set root=(hd1)

Now type

chainloader +1

That will essentially tell the grub that is on your harddisk, to chainload to the usb. This means that the usb stick has grub (or some other similiar software on it). So grub won’t try to find a bootable kernel on the usb stick. Instead, your harddrive’s grub will hand over controll to the usb stick’s grub.

boot

boot to an installed GNU/Linux distro on your machine

set root=(hd0,PartionNumberWhere/BootIs)
linux /boot/vmlinuz-linux-libre root=/dev/sdaPartionNumberWhereRootIs
initrd /boot/initramfs-linux-libre.img
boot

For me this looks like:

set root=(hd0,1)
linux /boot/vmlinuz-linux-libre root=/dev/sda1
initrd /boot/initramfs-linux-libre.img
boot

gpg

using a gpg key as an ssh authorized key to connect to servers.

https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html http://lists.gnupg.org/pipermail/gnupg-users/2012-July/045059.html http://budts.be/weblog/2012/08/ssh-authentication-with-your-pgp-key https://blogs.s-osg.org/using-openpgp-keys-ssh-authentication/

http://security.stackexchange.com/questions/1806/why-should-one-not-use-the-same-asymmetric-key-for-encryption-as-they-do-for-sig http://superuser.com/questions/360507/are-gpg-and-ssh-keys-interchangable https://www.digitalocean.com/community/tutorials/how-to-authenticate-users-to-a-ssh-server-using-monkeysphere-on-an-ubuntu-vps

  • caching my keys for the whole session

bluetooth

the CLI client seems to be the only one that works.

I’m trying to figure out how to send files from my phone to my computer, and I’m not able to do it. You can read more here. To get started install bluez and bluez-utils package. Then do this:

  • bluetoothctl
  • power on

-

*