Date created: Tuesday, October 16, 2012 3:51:03 PM. Last modified: Monday, October 14, 2024 2:34:57 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: 'journalctl' - Notes