summaryrefslogtreecommitdiff
path: root/README.md
blob: 1447de723feaa7e0448b40104b8ef50a9ab6bf23 (plain)
    1 ## Description
    2 
    3 Terminus is a program intended for more technically-inclined people (especially
    4 avid Linux terminal users) who have thoroughly secured their data but still
    5 want a way for their loved one(s) to gain access to it in the event of their
    6 untimely demise.
    7  
    8 
    9 ## How it works
   10 
   11 The intent for terminus is to be placed inside a user's shell's rc file (eg:
   12 bashrc, zshrc, etc). This way, every new shell will execute terminus and
   13 continually update the last login time. However, terminus can also be scheduled
   14 to run with a scheduler, or any other way to trigger its consistent execution.
   15 
   16 If the user account has been logged into more recently than the given threshold
   17 (a day count), then terminus exits (now - lastlogin < threshold).
   18 
   19 If the account has not been logged into within the threshold of time specified
   20 at execution (now - lastlogin > threshold), the next login will execute the
   21 given command
   22 
   23 The command to be executed can be anything. If multiple commands need to be
   24 executed, they can be chained together with quotes, or even better, written
   25 into a script that terminus will call.
   26 
   27 **Note** that commands are executed within a subshell that contains the same
   28 environmental variables as the shell terminus is running within.
   29 
   30 
   31 ## Usage
   32 
   33     terminus <days> <command_to_execute>
   34 
   35 
   36 ### Example 0
   37 
   38     terminus 7 "decrypt_passwords.sh"
   39 
   40 This command would execute the *decrypt_passwords.sh* script if the user has
   41 not logged in within the last 7 days.
   42 
   43 
   44 ### Example 1
   45 
   46     terminus 5 "cat ~/Documents/lovenote.txt && mplayer ~/Music/red_is_the_rose.ogg"
   47 
   48 This command would print a love note to the terminal and play a song afterwards, provided the user has not logged in within 5 days.

Generated by cgit