tildewiki
This commit is contained in:
commit
0381bce358
|
@ -0,0 +1,2 @@
|
|||
tildewiki
|
||||
tildewiki.yaml
|
|
@ -0,0 +1,23 @@
|
|||
# wiki.tilde.institute
|
||||
|
||||
This repository holds the wiki data for tilde.institute
|
||||
|
||||
To contribute:
|
||||
* Fork the repository
|
||||
* Create a branch with an appropriate name:
|
||||
* `git checkout -b mycoolpage`
|
||||
* Add your page in the `pages/` directory
|
||||
* Submit a PR
|
||||
|
||||
Don't forget to wrap lines at approximately 75 columns. If
|
||||
you need to, use `fmt -w 75`. For example:
|
||||
|
||||
```
|
||||
$ fmt -w 75 mypage.md | tee mypage.md
|
||||
```
|
||||
Then afterwards, check the page to fix anything that got
|
||||
clobbered.
|
||||
|
||||
## Software
|
||||
|
||||
The wiki engine being used is [TildeWiki](https://github.com/gbmor/tildewiki), developed by ahriman
|
|
@ -0,0 +1,5 @@
|
|||
# 404
|
||||
|
||||
## Not the area code
|
||||
|
||||
## I mean I can't find that :(
|
|
@ -0,0 +1,5 @@
|
|||
# 500
|
||||
|
||||
## Oh noez
|
||||
|
||||
## Something went wrong!
|
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1,6 @@
|
|||
body {
|
||||
max-width: 38rem;
|
||||
padding: 1.5rem;
|
||||
margin: auto;
|
||||
background-color: #b3b3cc;
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
# ~institute wiki
|
||||
|
||||
Welcome to the [tilde.institute](https://tilde.institute) wiki!
|
||||
|
||||
If you are new here, you may want to check out the [IRC](/w/irc) page. Or, if you know your way around and want to contribute to the wiki, open a PR! tilde.institute uses [tildegit](https://tildegit.org) for all site-related version control.
|
||||
|
||||
Repository: [tildegit.org/institute/wiki](https://tildegit.org/institute/wiki)
|
||||
|
||||
### Pages
|
||||
|
||||
<!--pagelist-->
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<span style="font-size: 0.9em">Powered by [tildewiki](https://github.com/gbmor/tildewiki)</span>
|
|
@ -0,0 +1,67 @@
|
|||
<!--
|
||||
author: ahriman
|
||||
title: BCHS Guide
|
||||
description: Introduction to the BCHS stack for web development
|
||||
date: 2019-04-24
|
||||
-->
|
||||
|
||||
# BCHS Guide
|
||||
|
||||
This will be a quick-and-dirty guide to getting started with the BCHS
|
||||
stack. More information can be found at:
|
||||
|
||||
* [Learn BCHS](https://learnbchs.org)
|
||||
* [pledge(2)](http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man2/pledge.2)
|
||||
* [unveil(2)](http://man.openbsd.org/unveil.2)
|
||||
* [kcgi](https://kristaps.bsd.lv/kcgi/)
|
||||
* [ksql](https://kristaps.bsd.lv/ksql/)
|
||||
* [kwebapp](https://kristaps.bsd.lv/kwebapp)
|
||||
|
||||
tilde.institute is set up to process all files with the `.cgi` extension
|
||||
via `slowcgi(8)`. This allows for a multitude of possibilities -
|
||||
any compiled language can be used to develop web applications on an
|
||||
OpenBSD server. It's advised to use `C` because of the `pledge(2)` and
|
||||
`unveil(2)` system calls available, which allow for restricting privileges
|
||||
and restricted filesystem access, respectively.
|
||||
|
||||
Keep in mind that if you don't use the previously listed
|
||||
`kcgi`/`ksql`/`kwebapp` libraries, you will need to work with HTTP's
|
||||
eccentricities manually. For an example, [here's the Hello World
|
||||
code](https://tilde.institute/helloworld.c) from the LearnBCHS
|
||||
site. And [here it is running](https://tilde.institute/helloworld.cgi)
|
||||
as compiled CGI here at tilde.institute.
|
||||
|
||||
Once you've written your software to be served via CGI, be sure to
|
||||
statically link the executables. Sure, there's a larger file size, but
|
||||
the benefits outweigh that in this case - there's no relying on what
|
||||
I may or may not have installed on tilde.institute. For example:
|
||||
|
||||
```
|
||||
$ cc -static -g -W -Wall -o app.cgi app.c
|
||||
```
|
||||
|
||||
When you've completed compilation, make sure to set permissions properly
|
||||
(755) and move it to the public folder in your home directory. `httpd(8)`
|
||||
is set to use `index.html` as the index file, however this can be changed
|
||||
to `index.cgi` or what-have-you by contacting the admins.
|
||||
|
||||
~institute user `xvetrd` has written a more detailed example on
|
||||
`kcgi` than is provided on the library's site. It includes an
|
||||
example `makefile` as well. The KCGI Starter archive is [available
|
||||
here](https://tilde.institute/kcgi-starter.tar.gz). Simply
|
||||
```
|
||||
curl -O https://tilde.institute/kcgi-starter.tar.gz
|
||||
```
|
||||
it to your home directory here on ~institute,
|
||||
```
|
||||
$ tar xzf kcgi-starter.tar.gz
|
||||
$ cd kcgi-starter
|
||||
$ make
|
||||
$ make install
|
||||
```
|
||||
to test the compilation. It installs to `~/public_html` with the proper
|
||||
ownership and permissions. View the `index.c` source and the `makefile`
|
||||
to see what goes on under the hood! Feel free to adapt it your own projects!
|
||||
|
||||
[back](/)
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<!--
|
||||
title: Dungeon Crawl Stone Soup
|
||||
author: ahriman
|
||||
description: Connecting to the Tildeverse DCSS instance
|
||||
-->
|
||||
|
||||
# Dungeon Crawl Stone Soup
|
||||
|
||||
`dcss` is a fun roguelike game that is now available on a tildeverse server
|
||||
for your enjoyment. There are two ways to play: via `WebTiles` for simple
|
||||
2d graphics and via `ssh` for a more traditional ascii interface.
|
||||
|
||||
* CTVO: [https://crawl.tildeverse.org](https://crawl.tildeverse.org)
|
||||
|
||||
If you already have an account on tilde.institute, you can play via the
|
||||
ascii interface by issuing the command `dcss`. This will automatically
|
||||
connect to the server and present the login/registration menu.
|
||||
|
||||
Some users prefer graphics. For `WebTiles`, it will be necessary to go to
|
||||
[https://crawl.tildeverse.org](https://crawl.tildeverse.org). Click `PLAY`
|
||||
to open the `WebTiles` interface.
|
||||
|
||||
## Recorded Games
|
||||
|
||||
All games on CTVO (the tildeverse crawl server) are recorded for later
|
||||
playback. In order to review a previously recorded game, navigate to [the
|
||||
ttyrec directory](https://crawl.tildeverse.org/ttyrec), select a username,
|
||||
and download the `ttyrec` file. You'll need to have the `ttyrec` package
|
||||
installed in order to review them. Issue: `ttyplay file.ttyrec` and watch
|
||||
as your terminal automagically transforms into a recorded DCSS game.
|
||||
|
||||
`ttyplay` is installed on tilde.institute, so feel free to download a
|
||||
game to your home directory and watch it from there.
|
||||
|
||||
## Morgue Files
|
||||
|
||||
Want to see the run-down of a game? Check out the `morgue`
|
||||
file for it. They're sorted into username directories at:
|
||||
[https://crawl.tildeverse.org/morgue](https://crawl.tildeverse.org/morgue).
|
||||
Each `morgue` file contains information such as how you died, your stats,
|
||||
an account of monsters vanquished, among other stuff.
|
||||
|
||||
[back](/)
|
|
@ -0,0 +1,63 @@
|
|||
<!--
|
||||
title: Finger
|
||||
author: ahriman
|
||||
description: Getting started with fingerd
|
||||
-->
|
||||
|
||||
# Finger
|
||||
|
||||
The finger protocol was created way back in 1977. its purpose was to
|
||||
display information about the queried user of a system, or all the users
|
||||
of a system.
|
||||
|
||||
It fell out of use in the 1990s due to various security concerns. the
|
||||
old finger daemons were buggy and easily exploited, while the
|
||||
information garnered from a query could be used for social engineering
|
||||
attacks. nowadays, the finger daemons have been refined and are no longer
|
||||
so vulnerable.
|
||||
|
||||
In the post-Facebook world, new types of social networks are
|
||||
popping up. the latest in this movement is a resurgence of the finger
|
||||
protocol. what follows is a rough guide for getting yourself up to speed
|
||||
with finger on tilde.institute.
|
||||
|
||||
## Querying
|
||||
|
||||
The standard query for finger is simply
|
||||
|
||||
```
|
||||
finger user@host
|
||||
```
|
||||
|
||||
which displays login name, home directory, shell, real name, current login
|
||||
time, idle time, whether or not the user has mail, and the contents of
|
||||
the user's `~/.plan` file. Here is an example of the output:
|
||||
|
||||
```
|
||||
Login: username Name: Bob Bobson XXII
|
||||
Directory: /home/username Shell: /bin/bash
|
||||
On since Wed Jan 2 04:04 (EST) on pts/94 from 168.297.83.21 via mosh [6420]
|
||||
8 minutes 26 seconds idle
|
||||
Last login Wed Jan 2 04:33 (EST) on pts/91 from 168.297.83.21
|
||||
No mail.
|
||||
Plan: hey hey hey everybody!
|
||||
```
|
||||
|
||||
## .plan
|
||||
|
||||
The `~/.plan` file displayed at the end of the finger query response
|
||||
allows for some customization. You can put literally any text you want
|
||||
there. Status updates, summaries, etc. This little file allows us to use
|
||||
finger as a rudimentary social network.
|
||||
|
||||
For example, say you want to use it as a personal summary, like having
|
||||
a blurb about what you're working on. Place the statement into `~/.plan`
|
||||
and you're ready to go!
|
||||
|
||||
For a more traditional social network style format, put dated and timed
|
||||
status updates as if you're tooting on a mastodon instance. The sky's
|
||||
the limit! Well, actually, text is the limit. But you get the idea. Right?
|
||||
|
||||
Hope to see you on finger soon!
|
||||
|
||||
[back](/)
|
|
@ -0,0 +1,81 @@
|
|||
<!--
|
||||
title: Getting Started With Gopher
|
||||
description: Using burrow to manage your gopher presence
|
||||
author: tomasino
|
||||
-->
|
||||
|
||||
# Getting Started With Gopher
|
||||
|
||||
# Using `burrow`
|
||||
|
||||
To create a gopher hole on tilde.institute, a user can easily get started
|
||||
by doing the following:
|
||||
|
||||
### Create the gopher directory
|
||||
```
|
||||
$ mkdir public_gopher
|
||||
```
|
||||
### Create a root gophermap
|
||||
```
|
||||
$ burrow gophermap
|
||||
```
|
||||
Gophernicus will interpret any text you add here as information lines unless they begin with one
|
||||
of gophernicus' special characters or contains a tab. As a general rule,
|
||||
don't use tabs unless you're intentionally linking something.
|
||||
|
||||
Add a cool header to the file (check out `figlet`!), then somewhere
|
||||
near the top, paste:
|
||||
```
|
||||
==== Last Updated: February 19th, 2019 ====
|
||||
```
|
||||
The date doesn't matter, really. Whenever you "phlog" with `burrow`
|
||||
it will update the date for you. How sweet is that?
|
||||
|
||||
Now lets add a link to your phlog that you're totally going to have:
|
||||
|
||||
```
|
||||
1phlog[tab]phlog
|
||||
```
|
||||
|
||||
That `[tab]` should be a literal tab, though. Make sure your editor
|
||||
doesn't convert it to spaces. Now, save and quit the editor.
|
||||
|
||||
### Create a phlog directory
|
||||
```
|
||||
$ mkdir ~/public_gopher/phlog
|
||||
```
|
||||
### Now create a new phlog with burrow
|
||||
```
|
||||
$ burrow phlog
|
||||
```
|
||||
|
||||
You'll be prompted for a title. If you hit enter and give no title then
|
||||
burrow will abort.
|
||||
|
||||
Once you hit enter after giving your title a temporary file will open in
|
||||
your default `$EDITOR`. Don't like that editor? Be sure to change your
|
||||
environment var!
|
||||
|
||||
If you quit your phlog file without saving the post is aborted. If you save
|
||||
and quit, it will create a new phlog entry, add it to your phlog gophermap
|
||||
that now exists, and update the date on your root gophermap. That's it!
|
||||
|
||||
You have an RSS file sitting in the root of your gopher hole at
|
||||
`rss.xml`. It will automatically generate when you phlog, like a
|
||||
winner. You can edit your root `gophermap` at any time by using burrow's
|
||||
`gophermap` action. If you create other folders and gophermaps in the
|
||||
future you can use burrow's gophermap function to target them. For
|
||||
instance, to open the phlog listings you would:
|
||||
```
|
||||
$ burrow gophermap /phlog
|
||||
```
|
||||
Editing gophermaps with `burrow` will ensure they're always
|
||||
saved and formatted properly! Any other files are just text, so open them
|
||||
directly with your editor of choice.
|
||||
|
||||
That's it! Happy gophering.
|
||||
|
||||
~tomasino
|
||||
|
||||
[back](/)
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
<!--
|
||||
title: GnuPG for SSH Authentication
|
||||
Description: Using gpg-agent as an alternative to ssh-agent
|
||||
author: ahriman
|
||||
-->
|
||||
|
||||
# Using GPG for SSH Authentication
|
||||
|
||||
It's a fairly simply process to have gpg-agent handle your SSH
|
||||
authentication. To start off, you'll need to have a private GnuPG key
|
||||
generated with an appropriate subkey for authentication. Once that's
|
||||
taken care of, open up `~/.gnupg/gpg-agent.conf`
|
||||
|
||||
```
|
||||
$ cat ~/.gnupg/gpg-agent.conf
|
||||
enable-ssh-support
|
||||
default-cache-ttl 60
|
||||
max-cache-ttl 120
|
||||
```
|
||||
|
||||
Now you'll need to append the following to `~/.bashrc`, or the appropriate
|
||||
rc file for your shell
|
||||
|
||||
```
|
||||
$ cat ~/.bashrc
|
||||
export GPG_TTY="$(tty)"
|
||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||
gpg-connect-agent updatestartuptty /bye > /dev/null
|
||||
```
|
||||
|
||||
Once that's done, you'll need to let `gpg-agent` know which GnuPG subkey
|
||||
to use for SSH authentication. Run the following and copy the keygrip
|
||||
associated with the subkey you've generated specifically for authentication.
|
||||
Don't use *my* keygrip, however. The output here is just for an example. `GnuPG`
|
||||
computes the keygrips from the public key, so nothing here is sensitive
|
||||
or private.
|
||||
|
||||
```
|
||||
$ gpg --with-keygrip -k ben@gbmor.dev
|
||||
pub rsa4096/0xEAB272409CD12FF0 2018-11-25 [SC]
|
||||
Key fingerprint = 291A AFF7 A291 7DAB 0E01 6B9C EAB2 7240 9CD1 2FF0
|
||||
Keygrip = DE06FAA273017BBD8778F94639611CEF53AB9EBC
|
||||
uid [ultimate] Ben Morrison <ben@gbmor.dev>
|
||||
sub rsa4096/0xF9C3B650612249D9 2018-11-25 [E]
|
||||
Keygrip = 751ADAC109736316B6ABEBB3F2BDF4612F8A630C
|
||||
sub rsa4096/0x4969E5731CFEB507 2018-11-25 [A]
|
||||
Keygrip = 44D1BDC0C1931E2E018E7CE49CDE14BFB4EA11E3
|
||||
sub rsa4096/0x8F192E4720BB0DAC 2018-11-25 [S]
|
||||
Keygrip = 240966CBF2791D8C34D0DA646925435FED49F9BF
|
||||
```
|
||||
|
||||
Now, open `~/.gnupg/sshcontrol` and paste the keygrip into that file.
|
||||
It's the keygrip just below the key marked `[A]` for authentication.
|
||||
Verify that the correct keygrip has been selected by running these two
|
||||
and comparing the output:
|
||||
```
|
||||
$ ssh-add -L
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCakJKfXUuX/ZDxJQySdxCeQfxTu0g
|
||||
KPCESGDyadvFAPDxtcTfOrxfqJLZx8CodkC7hzHT/QEy/xMgN18Q== cardno:000609861127
|
||||
```
|
||||
```
|
||||
$ gpg --export-ssh-key <keyid>
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCakJKfXUuX/ZDxJQySdxCeQfxTu0g
|
||||
KPCESGDyadvFAPDxtcTfOrxfqJLZx8CodkC7hzHT/QEy/xMgN18Q== openpgp:0x1CFEB507
|
||||
```
|
||||
The `ssh` output should match the `gpg` output (except maybe the little
|
||||
trailing comment, like here). Also, I've removed most of the public key I'm using as
|
||||
an example for brevity's sake. It should be quite a bit longer than this.
|
||||
If `ssh` is correct, kill off `gpg-agent`
|
||||
```
|
||||
$ pkill gpg-agent
|
||||
```
|
||||
|
||||
Then open up a new terminal and attempt to connect to a server!
|
||||
|
||||
[back](/)
|
|
@ -0,0 +1,72 @@
|
|||
<!--
|
||||
title: IRC
|
||||
description: Introduction to our IRC network
|
||||
author: ahriman
|
||||
-->
|
||||
|
||||
# IRC
|
||||
|
||||
To connect to the [tildeverse IRC network](https://tilde.chat) and begin
|
||||
chatting while logged on to tilde.institute, simply use the command
|
||||
`chat`! If you prefer to use a different IRC client than the default,
|
||||
such as `irssi`, the following server information will apply:
|
||||
|
||||
* institute.tilde.chat
|
||||
* Port 6697
|
||||
* TLS / SSL
|
||||
|
||||
Don't forget to `/join #institute` and `/join #meta`
|
||||
|
||||
## Channels
|
||||
|
||||
There are quite a few channels on tilde.chat, however some have more
|
||||
activity than others. Here's a few channels that you may be interested in.
|
||||
|
||||
* `#meta` - the general chat channel for all of the [tildeverse](https://tildeverse.org)
|
||||
* `#institute`- for tilde.institute-related discussion
|
||||
* `#tilderadio` - the channel for the [tildeverse radio station](https://tilderadio.org)
|
||||
* `#cosmic` - discussions pertaining to [cosmic voyage](https://cosmic.voyage), a
|
||||
`tilde` focusing on collaborative science fiction writing
|
||||
* `#tildetel` - the channel for [tilde.tel](https://tilde.tel), the neighborhood SIP server
|
||||
* `#security` - computer, software, and network security discussions
|
||||
* `#uucp` - the [dataforge](https://uucp.dataforge.tk) UUCP-over-SSH project
|
||||
* `#hamradio` - the channel for hams!
|
||||
* `#cervezafria` - A place for our Spanish-speaking friends to relax
|
||||
|
||||
You can check the currently available channels any time by issuing `/list`
|
||||
in your IRC client.
|
||||
|
||||
## Connecting Externally
|
||||
|
||||
Want to hang out on the tildeverse when you aren't connected to
|
||||
tilde.institute? No problem! Just use these settings in your favorite
|
||||
IRC client:
|
||||
|
||||
* irc.tilde.chat
|
||||
* Port 6697
|
||||
* TLS/SSL is required
|
||||
|
||||
The DNS round robin will connect you to one of the nodes in the network.
|
||||
|
||||
If you're using `weechat` the following will connect you:
|
||||
|
||||
```
|
||||
/server add tilde irc.tilde.chat/6697 -ssl -autoconnect
|
||||
/connect tilde
|
||||
```
|
||||
|
||||
And if you're using `irssi`
|
||||
|
||||
```
|
||||
/connect -tls -tls_verify irc.tilde.chat 6697
|
||||
```
|
||||
|
||||
The tildeverse IRC network also runs an instance of `The Lounge`, a
|
||||
web-based IRC client that allows you to stay connected even when you're
|
||||
away. It's available at:
|
||||
|
||||
* [https://web.tilde.chat](https://web.tilde.chat)
|
||||
|
||||
Join us on the tildeverse IRC network and socialize with other tilde users!
|
||||
|
||||
[back](/)
|
|
@ -0,0 +1,112 @@
|
|||
<!--
|
||||
title: pass, the CLI Password Manager
|
||||
author: erxeto
|
||||
description: Usage guide for pass
|
||||
-->
|
||||
|
||||
# pass, the CLI Password Manager
|
||||
|
||||
`pass` is a command line utility to manage your passwords.
|
||||
|
||||
It creates a simple file/folder structure under your `$PASSWORD_STORE_DIR`
|
||||
(by default `~/.password-store`) where every file is encrypted with your
|
||||
gpg key.
|
||||
|
||||
You can organize that hierarchy as you see fit. For instance something like
|
||||
`sites/tilde.news/myusername` is a common way of doing it.
|
||||
|
||||
Those files are not limited to contain simply a password, they can contain
|
||||
anything. But is recommended that the password goes alone in the first
|
||||
line, so you can benefit from the `-c` option which copies that to the
|
||||
clipboard directly.
|
||||
|
||||
There is `bash`, `zsh` and `fish` command line completion available and
|
||||
all can be tracked using `git`. So it's really convenient.
|
||||
|
||||
## Setup
|
||||
|
||||
This is simple, just one command (assuming you have your GnuPG key
|
||||
ready). GPG-ID is the hex id of your key.
|
||||
|
||||
```
|
||||
$ pass init GPG-ID
|
||||
mkdir: created directory ‘/home/user/.password-store’
|
||||
Password store initialized for GPG-ID
|
||||
```
|
||||
|
||||
## Basic Usage
|
||||
|
||||
List all passwords "tree" style
|
||||
|
||||
```
|
||||
$ pass Password Store
|
||||
├── sites
|
||||
│ ├── tilde.zone
|
||||
│ │ ├── myUserName
|
||||
│ │ ├── secondAccount ...
|
||||
```
|
||||
|
||||
Find a password
|
||||
|
||||
```
|
||||
$ pass find tilde.zone
|
||||
Search Terms: tilde.zone
|
||||
└── sites
|
||||
└── tilde.zone
|
||||
└── myUserName@tilde.zone
|
||||
```
|
||||
|
||||
See the content of a file
|
||||
|
||||
```
|
||||
$ pass email/tilde.institute/myAccount
|
||||
supersecret
|
||||
```
|
||||
|
||||
Copy the first line to the clipboard. Clear time can be configured with
|
||||
`$PASSWORD_STORE_CLIP_TIME`
|
||||
|
||||
```
|
||||
$ pass -c email/tilde.institute/myAccount
|
||||
Copied email/tilde.institute/myAccount to clipboard.
|
||||
Will clear in 45 seconds.
|
||||
```
|
||||
|
||||
Insert a new password. It can be multiline with `-m`. Remember to put the
|
||||
password on the first line if you want to use the clipboard function
|
||||
|
||||
```
|
||||
$ pass insert sites/foo.com/blah
|
||||
Enter password for sites/foo.com/blah:
|
||||
```
|
||||
|
||||
Generate a 32 chars random password and store it. You can define the
|
||||
default length with `$PASSWORD_STORE_GENERATED_LENGTH`. With `-n` the
|
||||
password will not include symbols, but alphanumeric characters only. With
|
||||
`-c` it gets copied to the clipboard as usual.
|
||||
```
|
||||
$ pass generate sites/foo.com/abcd 32
|
||||
The generated password to sites/foo.com/abcd is:
|
||||
$(-QF&Q=IN2nFBx)
|
||||
```
|
||||
|
||||
take a look at the `--help` option or the complete documentation on
|
||||
their website.
|
||||
|
||||
## Changing Keys
|
||||
|
||||
If you need to change the key being used for your password files,
|
||||
simply navigate to the directory and re-issue `pass init`, but with
|
||||
the ID of the new key to be used. Pass will prompt for the old key's
|
||||
password, then automatically decrypt all keys and re-encrypt them
|
||||
with the new key.
|
||||
```
|
||||
$ cd ~/.password-store
|
||||
$ pass init NEWGPGKEYID
|
||||
```
|
||||
|
||||
references:
|
||||
|
||||
* [pass home page](https://passwordstore.org)
|
||||
|
||||
[back](/)
|
|
@ -0,0 +1,36 @@
|
|||
<!--
|
||||
title: UNIX ProTips
|
||||
description: Handy tips for budding power users
|
||||
author: xvetrd
|
||||
-->
|
||||
|
||||
# UNIX ProTips
|
||||
|
||||
I realized today I wasn't getting mail notifications, and I hadn't set
|
||||
them up on this shell. So here are some things I do on my local machine
|
||||
that work here:
|
||||
|
||||
To get the shell to tell you when you have new mail, after command
|
||||
executions, add this to your `.profile` or your `.kshrc` files
|
||||
(or other shell RC file) in your home directory.
|
||||
|
||||
```
|
||||
export MAILCHECK=0
|
||||
```
|
||||
|
||||
And, if you want, you can have a persistent notification when
|
||||
you have un-incorporated mail, or more specifically, when your
|
||||
`/var/mail/<username>` isn't empty.
|
||||
|
||||
```
|
||||
PS1="\$([-s /var/mail/`whoami` ] && echo '* ')$PS1"
|
||||
```
|
||||
|
||||
This works in `/bin/ksh`, I can't speak for other shells.
|
||||
|
||||
If anybody else has some quick tips they would like to share, I encorage
|
||||
them to edit this page.
|
||||
|
||||
Happy Unixing!
|
||||
|
||||
[back](/)
|
Loading…
Reference in New Issue