Date created: Tuesday, October 16, 2012 3:51:03 PM. Last modified: Friday, December 8, 2023 6:38:34 PM

'irssi' & 'screen' - Notes

irssi

Setup, ~/.irssri/config file:

 # Default settings
settings = {
core = {
real_name = "James Bensley";
user_name = "jwbensley";
nick = "jwbensley";
};
"fe-text" = { actlist_sort = "refnum"; };
scrollback_lines = "10000";
};

# Adding custom server definitions, some with autoconnect = "yes" to connect to those networks on startup of irssi:

servers = (
{ address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; autoconnect = "yes"; },
{ address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
{
address = "irc.freenode.net";
chatnet = "Freenode";
port = "6667";
autoconnect = "yes";
},
{
address = "irc.terahertz.net";
chatnet = "Terahertz";
port = "6667";
},
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; }
);

# You can check the above server list was loaded after starting irssi with "/servers list"
09:29 Server Port Network Settings
09:29 eu.irc6.net 6667 IRCnet autoconnect
09:29 open.ircnet.net 6667 IRCnet
09:29 irc.freenode.net 6667 Freenode
09:29 irc.terahertz.net 6667 Terahertz autoconnect
09:29 irc.efnet.org 6667 EFNet


# Define auto joins (only works if the networks are set to autoconnect = "yes" under the servers stanza:
channels = (
{ name = "#networker"; chatnet = "IRCnet"; autojoin = "Yes"; },
{ name = "#denog"; chatnet = "IRCnet"; autojoin = "Yes"; },
{ name = "#linx"; chatnet = "Terahertz"; autojoin = "Yes"; },
{ name = "#ix"; chatnet = "Terahertz"; autojoin = "Yes"; },
{ name = "#uknof"; chatnet = "Terahertz"; autojoin = "Yes"; },
{ name = "#ripe"; chatnet = "Terahertz"; autojoin = "Yes"; },
{ name = "#nanog"; chatnet = "Terahertz"; autojoin = "Yes"; }
);

Quick Commands:

/away <message>

/connect <server fqdn or chatnet name> - connect to chatnet or specific server

/highligh <nick>

/join <#channel> - join #channel

/leave <message>

/list - list channels

/msg <nick> <message> - private window starting with <message>

/q - leave private chat window

/query <nick> - private window without message

/reload - reload config file

/server <host>  - connect to server <host>

/wc - close current window

/win <window number>

 

Auto Joins:

/server add -auto -network Freenode irc.freenode.net 6667

/network add -nick <your-nick> Freenode

/channel add -auto #ubuntu Freenode

Verify in ~/.irssi/config



screen

In ~/.screenrc:

startup_message off

# Scrollback history
defscrollback 1000000

termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

# Enable scrolling using mouse wheel (alternate text buffer)
termcapinfo xterm* ti@:te@

Enter copy mode: CTRL+A [

Exit copy mode: Esc

Scroll half page up: CTRL+u

Scroll full page up: CTRL+b

Scroll half page down: CTRL+d

Scroll full page down: CTRL+f

Or enter op mode with CTRL+a then Esc, then use UP and Down arrows, Esc to exit again

New window: CTRL+a c

Next window: CTRL+a n

Previous window: CTRL+a p

Lock screen session: CTRL+a x

Detach session: CTRL+a d

 

To connect to an already attached screen by disconnecting the attached user;

screen -list
There is a screen on:
    3746.pts-4.node1	(18/10/12 13:26:37)	(Attached)
1 Socket in /var/run/screen/S-node1.
screen -D -r 3746

 

To start script running in a screen session for a specific user at boot time, without connecting to that screen session, add the following to /etc/rc.local:

sudo -u bensley screen -dmS mc /opt/mc/start_mc.sh

# start_mc.sh:
#!/bin/bash

cd "$(dirname "$0")"

while true
do
    /usr/bin/java -Xmx1024M -Xms1024M -jar minecraft_server.1.18.2.jar nogui
done

 

screen with USB/serial

# Connect to a USB to serial adapter at 9600 baud:
$screen /dev/tty.usbserial-14430 9600

# To send the break key enter CTRL+a then CTRL+b

# To quit screen type CTRL+a then CTRL+\

# To send a file via xmodem, on Linux:
$ apt-get install lrzsz
# or on Mac:
$ brew install lrzsz
# Start the xmodem transfer on the receiving device, then from within screen enter CTRL+a then a colon ":", then run:
exec !! sz -kbX vdsl_C897VAB_Fw_A39x3_Bond39x6.bin
# ^ Not that you must but running screen in the same folder as the folder that needs to be sent, relative paths like ~/blah.txt don't wor

 


Previous page: 'iperf' Notes
Next page: 'jq' Notes