Linux Time Machine with netatalk (AFP)

I have an old mac mini that I want to back up, and of course I want to use Apple’s fancy Time Machine backup. Thing is, it’s old, from early 2009 and the newest OS X it can run is 10.11.6 El Capitan. Apparently, older versions of OS X can’t backup to Samba, which is what I use for serving files.


Newer OS X can actually backup using Samba for Time Machine but older ones can only use Apple File Protocol (AFP). There is a project to run a AFP daemon on linux:

In Debian 10 you can do the typical apt install netatalk, systemctl enable –now netatalk.

Config file: /etc/netatalk/afp.conf

; Netatalk 3.x configuration file

mimic model = TimeCapsule
zeroconf name = fileserverafp
log file = /var/log/netatalk
log level = default:debug

[FS Backup]
mimic model = TimeCapsule
path = /storage/bu/timemachinebackup
time machine = yes
force user = rushworx
force group = rushworx
guest account = rushworx
valid users = rushworx

Surely I do not need all of this stuff but it works, and I don't use it for anything else so why fiddle with it. 

time machine

The missing piece of this puzzle is Bonjour / Avahi. I had issues with it but it turns out if you don’t have it all you have to do is mount the share once first, then it becomes available under Time Machine settings.

Outwars Hacking: Team Images

I always thought it would be fun to have custom Clan logos instead of the generic team images to pick from in multiplayer. These don’t do anything, it’s just for cool factor. They are located within \shelldb\netimg named icon01.pcx through icon10 so I guess we only get to have ten clans!


Outwars Hacking: Multiplayer Mission List

Okay folks, I am going through digging up and re-remembering some old knowledge about hacking Outwars.

First and foremost outwars.mml aka the multiplayer mission list. Lets open it up in a hex editor:

Very simple. Name of the .mis file located in /netmisn followed by some whitespace. I have added a few more:

The astute amongst you may notice hey ass isn’t a real mission, the game agrees and since there is no ass.mis it throws an error and immediately quits:

Lesson here being, don’t screw up the .mml file!

As soon as you add more than 15 entries to this file, the game actually renders a scroll bar but there seems to be some hard coded limit that prevents it from properly handling more missions. No matter, nobody is every going to play anything but anub1m anyway πŸ˜›


Nvidia Control Panel Won’t Open

Had an annoying issue today. For MechWarrior Online, I use Nvidia Control Panel to span my three monitors into one virtual one. Well today I wanted to turn that off and I couldn’t open the damn thing.

Updating the driver through Geforce experience did not resolve it. I had to uninstall the driver within Device Manager and let Windows automatically get it again and that reset the displays back to default and also actually solved the inability to launch the Nvidia Control Panel.


Old Faces and New Faces

Ahhhhh the CAT clan πŸ™‚ Good old Complete Annihilation Team. We have VeX represented as well, as importantly new blood. For all the time we spent back in the day trying to get new players, who knew today we would just have some fall in our lap? hah


Outwars 2020

I use Facebook for two things: buying old cars and BattleTech minis. I forgot all about the Outwars Never Dies Facebook page. Lo and hehold, maybe due to the present apocalypse, there has been a flurry of activity in that page of late and I just happened to click into it. Exciting!

So, I promptly fire up a Discord and get a hold of OWReaper. He’s telling me someone had the source code to the game and someone else has a remake in progress and frankly my mind is fucking blown. This is exciting. So, I go ahead and set up a Bookstack to organize things.

One thing OWReaper mentioned was documenting some of the history of ye olde days playing on I was going to put that in the book stack but I figure its very bloggy material so might as well put it here. Plus, if something comes to me I can fart out a quick post on my phone. So yeah, enjoy!


1986 Fox Mustang Partout

The shell itself suffers from rotted floors and suspension pickup points, hence the part out.

available parts:

Body panels are straight, without rust aside from very light surface rust, and in various states of rattle can black. Would be great for a race car or budget build. Not recommended for anything fancy as they would require a fair amount of prep.

  • hatch with hinges and latch
  • Fiberglass hood, has ~1” crack that needs to be patched.
  • both fenders
  • four-eye nose / bumper
  • rear bumper
  • rear quarter sections
  • front and rear seats

parts not available:

  • motor
  • trans
  • k frame
  • rear end
  • Doors
  • dash and fuse panel
  • anything attached to the above.
  • anything not specifically mentioned in list of available parts

Text me at: 908 four eight five 8304

x11 logo

x11 logo

Persistent Server VNC

I have a home server I call a NAS but it also does some other stuff. Occasionally I find the need to do some GUI things, and I don’t want to be bothered with a physical keyboard and mouse as that’s quite inconvenient due to the physical setup. I require use of the real graphics card for this, so, using virtual desktops is not an option, so to that end I will use x11vnc since it shares existing X displays.

I suppose there is a more elegant solution to this problem but this is fine for me. I am running Debian 10, with the LXDE desktop environment. Bog standard Debian desktop install.

I’m going to make lightdm log me in my non-root user automatically:

[email protected]:~# nano /etc/lightdm/lightdm.conf

Add your user under Seat:*

autologin-user= MadRush

~/.xsessionrc runs stuff as soon as you are logged in to X. It’s a perfect spot to make x11vnc start up:

[email protected]:~$ cat .xsessionrc 
/usr/bin/x11vnc -forever -display :0 -auth guess -rfbauth /home/MadRush/.vnc/passwd & disown

Okay so next time you log in, x11vnc will be started. And -forever means it will stay open after you disconnect. Going forward lightdm will automatically log you in, et voila, there’s your persistent x11vnc session. Restart lightdm:

[email protected]:~# systemctl restart lightdm

Good to go! Now I can log in at the physical console if I want, and then pick up where I left off should I want to use VNC instead.


Disable PulseAudio and switch to ALSA

I have a computer in my living room PulseAudio. As is typical with Poettering software, PulseAudio is very unpredictable.

Within the Ubuntu settings editor, there is no way to permanently choose an audio device. Every time I reboot this computer, and sometimes when suspending, it reverts from HDMI to Analog. Within pavucontrol, you can set the default device but it doesn’t stick anyway. I suppose this has to do with the timing of HDMI audio device being detected as plugged in or some such malfunctioning automagic bullshit.

It’s highly annoying to change the audio device all the time, so here is how I got around this issue.

Disable PulseAudio

Strictly speaking, it is not disabled. Not in the sense of turning if off with systemctl, this just stops the binary from running, apparently:

[email protected]:~$ systemctl --user status pulseaudio
● pulseaudio.service - Sound Service
   Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; di
   Active: inactive (dead)
[email protected]:~$ systemctl --user status pulseaudio.socket
● pulseaudio.socket - Sound System
   Loaded: loaded (/usr/lib/systemd/user/pulseaudio.socket; dis
   Active: inactive (dead)
   Listen: /run/user/1000/pulse/native (Stream)

Like any software of this uh .. caliber, I have never found any official documentation particularly useful. However the Kodi documentation came in handy

The relevant bit, in /etc/pulse/client.conf :

autospawn = no

ALSA Default Device

[email protected]:~$ aplay -l 
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

The device I’ll be using is Card 0, Device 3. So, in /etc/asound.conf:

pcm.!default {
        type hw
        card 0
        device 3

ctl.!default {
        type hw
        card 0
        device 3

After a reboot, no audio devices show up in the Ubuntu Settings app.


I like Firefox. Sadly, guess what? Apparently the Linux version of Firefox requires PulseAudio and cannot use Alsa as of many versions ago.

So, I guess it’s time to change browsers. Chromium seems to work fine with Alsa without any fuss, so there you go.


Foxit PDF Read on Linux with Wine

I don’t very much like Evince or other FOSS PDF readers on Linux. I do however like using Foxit on windows. They do actually provide packages for Linux packages but there is a long standing rendering bug where everything is super stretched out vertically. There does not seem to be an solution to the bug in sight. However, while perusing the support forums someone mentioned they had good success using the Windows version in Wine. Ok! Fine.

I want this to be separate from the Wine root in my home directory so it is self contained and can be copied from one machine to another. I’m lazy.

mkdir -p /opt/foxitwine/wineroot
cd /opt/foxitwine/
<wget your foxit installer .exe in here>
WINEPREFIX=/opt/foxitwine/wineroot wine FoxitReader97_Setup_Prom_IS.exe

Now install Foxit Reader, I put it in c:\FoxitReader for brevity.

Thing is, you want this to integrate nicely with your Linux desktop, so, here’s a FoxitReaderWine.desktop file:

[Desktop Entry]
Name=Foxit Reader Wine
Comment=View pdf documents
Exec=/usr/bin/env bash -c "printf 'z:%%q\\n' %F | WINEPREFIX='/opt/foxitwine/wineroot' xargs wine 'C:\\FoxitReader\\FoxitReader.exe'"

I was having an issue with getting the file argument successfully passed to wine so I mined this discussion for a handy solution.

mv FoxitReaderWine.desktop /usr/share/applications/

All done.