how to install signal messenger on openbsd -release and -stable
i recently moved to using openbsd on my personal computer and there was a single piece of the puzzle missing, which is that signal is the primary texting app i use and it is not available on openbsd
the signal client is an electron app, and electron is not well supported on openbsd for a variety of reasons. i don't make openbsd i just benefit hugely from the people who do, so no complaints from me!
but i need signal on my laptop, at least the messaging part (calls and video don't need to work since i have my phone for that), because i'm constantly sending files and links around from my computer to people on signal and it's just a hard requirement to be able to continue doing that
the solution is a TUI written in rust called gurk-rs: https://github.com/boxdot/gurk-rs
it's not available in ports but it's very easy to build, here's how you do it:
- install rust with
doas pkg_add rustc. this also gives you cargo - the other requirements are perl and protoc. perl is in
base, so you already have it - install
protocwithdoas pkg_add protobuf - build gurk with
cargo install --git https://github.com/boxdot/gurk-rs gurk - gurk falls over if you don't exec it with a full path, so add an alias to
.kshrc(or whatever you're using):alias signal=/home/<your-username>/.cargo/bin/gurk - gurk won't render the TUI correctly unless you set locale settings that openbsd doesn't care about but lots of programs from linux world do care about. in your
~/.xsessionaddexport LC_CTYPE="en_US.UTF-8"andexport LANG="en_US.UTF-8"(or whatever is appropriate for your region and language) - end your Xenocara session (log out) and log back in
- run
signal - if the device linking QR code doesn't render correctly in your terminal, find it in
/tmpand open it in an image viewer to scan it
success! signal on openbsd without tracking -current — beautiful
i'm very new to openbsd, so if you are an expert and you see i've done something foolish, please let me know! i would like to dispense correct information. my email address is on my website <3