diff options
author | Christian Cleberg <hello@cleberg.net> | 2024-01-08 20:11:17 -0600 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2024-01-08 20:11:17 -0600 |
commit | 25945b8fead989cca09a23983623b63ce36dcc0c (patch) | |
tree | 0dfc869ce8b028e04ce9da196af08779780915ce /blog/2023-11-08-scli.org | |
parent | 22b526be60bf4257c2a1d58a5fad59cf6b044375 (diff) | |
download | cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.tar.gz cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.tar.bz2 cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.zip |
feat: total re-write from Emacs org-mode to Zola markdown
Diffstat (limited to 'blog/2023-11-08-scli.org')
-rw-r--r-- | blog/2023-11-08-scli.org | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/blog/2023-11-08-scli.org b/blog/2023-11-08-scli.org deleted file mode 100644 index 16c723d..0000000 --- a/blog/2023-11-08-scli.org +++ /dev/null @@ -1,153 +0,0 @@ -#+title: Installing scli on Alpine Linux (musl) -#+date: 2023-11-08 - -[[https://github.com/isamert/scli][scli]] is a command-line tool that allows you to connect to your Signal messenger -account. This program utilizes a two-pane display that shows you chats on the -left and the focused conversation on the right. - -This guide will show you how to install =scli= and its dependencies on Alpine -Linux, which requires some extra work due to musl. - -If you're using a non-musl system, you can likely following the =scli= README -and download the packaged binaries for an easier installation process. - -** Dependencies -:PROPERTIES: -:CUSTOM_ID: dependencies -:END: -In order to use =scli=, you need a few dependencies: - -- =openjdk17-jre= - Used as a dependency for the =signal-cli= tool. - Version may vary. -- =signal-cli= - Used as the backbone of the =scli= tool. -- =findutils= - Replaces the standard Busybox version of =xargs=. -- =urwid= - A console user interface library for Python. -- =urwid-readline= - For GNU emacs-like keybinds on the input line. -- =qrencode= - Displays a QR code in the terminal to link the device - using your phone. Not necessary if you're only linking on desktop and - can copy/paste the connection URL. - -Let's start by installing the packages available via Alpine's -repositories. Be sure to install the latest version of =openjdk=. If you -run into Java-related issues, uninstall =openjdk= and install an older -version. - -#+begin_src sh -doas apk add openjdk17-jre findutils qrencode -#+end_src - -Next, let's install =signal-cli=. Be sure to export the version of -=signal-cli= that you want. I use version =0.12.4= below, but that may -be outdated by the time you're reading this. - -#+begin_src sh -export VERSION="0.12.4" -wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}".tar.gz -doas tar xf signal-cli-"${VERSION}".tar.gz -C /opt -doas ln -sf /opt/signal-cli-${VERSION}"/bin/signal/cli /usr/local/bin -#+end_src - -Finally, install the =urwid= packages using the Python packaging -utility. - -#+begin_src sh -pip3 install urwid urwid-readline -#+end_src - -** Installation -:PROPERTIES: -:CUSTOM_ID: installation -:END: -Now that we have all of the dependencies we need, we can install =scli=. -Start by simply cloning the repository. - -#+begin_src sh -git clone https://github.com/isamert/scli -#+end_src - -When I cloned this repository on 2023-11-08, I found a bug in the logic -that required a fix. You must edit the =scli= file and replace the one -instance of =RLIMIT_OFILE= with =RLIMIT_NOFILE=. - -#+begin_src sh -cd scli -nano scli -#+end_src - -Once complete, you can move this program to anywhere on your =$PATH=. I -chose the following directory. - -#+begin_src sh -doas mv scli /usr/local/bin/scli -#+end_src - -** Initial Setup -:PROPERTIES: -:CUSTOM_ID: initial-setup -:END: -Now that everything is installed, we can login and configure the client. -Start by generating a connection link. - -#+begin_src sh -signal-cli link -n "YOUR-DEVICE-NICKNAME" | tee >(xargs -L 1 qrencode -t utf8) -#+end_src - -This will generate a connection link and related QR code for you to use -to link the devices together. Once complete, *wait patiently* for the -connection process to finish. - -Once it completes, it will exit and return you to the prompt. From here, -you need to perform an initial =receive= command to start things off. -The =USERNAME= variable should be your phone number, such as -=+15551237890=. - -#+begin_src sh -signal-cli -u USERNAME receive -#+end_src - -Also be sure to test the daemon to ensure it works properly. If no -errors occur, it's working. If you run into errors because you're not -running a DBUS session, see my notes below. - -#+begin_src sh -signal-cli -u USERNAME daemon -#+end_src - -Once the initial reception is complete, you are ready to use =scli=. - -This process will differ depending on your desktop environment (DE). If -you are running a DE, you likely have a DBUS session running already and -can simply launch the program. - -However, if you're like me and running your computer straight on the TTY -without a DE, you'll need to start a DBUS session for this program. - -#+begin_src sh -# If you're not running a DBUS session yet, you need to start one for scli -dbus-run-session -- scli - -# OR - If you're already running a DBUS session, simply run scli -scli -#+end_src - -** Configuration -:PROPERTIES: -:CUSTOM_ID: configuration -:END: -Lastly, there are a number of configuration options that you can pass -via the command or in the =~/.config/sclirc= file. See the Github README -for more information on configuration options. - -#+begin_src sh -nano ~/.config/sclirc -#+end_src - -#+begin_src conf -# ~/.config/sclirc - -wrap-at = 80 -enable-notifications = true -#+end_src - -That's it! Following this guide, I have a functional =scli= program that -successfully sends messages to my contacts and myself! |