Edit default Gnome-Terminal

Every time I open a shell terminal in my Ubuntu, I always think that the window size is too small. I always ended up resizing the shell window manually using the mouse. If you’re having this problem here is how to fix it permanently.

1
gnome-terminal --geometry=120x40

2026 update — what’s still relevant, and what’s changed. 🐧

–geometry is deprecated. Modern GNOME Terminal ignores the –geometry flag in most cases. The current way to set a default window size is in the GUI: Preferences → Profile → Text, then check “Initial terminal size” and set the columns and rows you want. The next terminal you open from your launcher will use that size.

Also worth knowing — newer distros are starting to ship different terminals by default. Fedora 39+ uses gnome-console (binary name kgx), and Ubuntu 24.10+ has been experimenting with ptyxis. They all do the same thing; just be aware that gnome-terminal may not be the default anymore.

Keyboard shortcuts most people don’t use enough:

  • Ctrl+Shift+T — open a new tab (instead of a whole new window)
  • Ctrl+PgUp / Ctrl+PgDn — switch between tabs
  • Ctrl+Shift+C / Ctrl+Shift+V — copy and paste (regular Ctrl+C sends SIGINT, remember?)
  • Ctrl++ / Ctrl+- — zoom in / out (great for screen sharing)
  • Ctrl+Shift+F — search the scrollback buffer
  • Ctrl+L — clear the screen (like running clear, but quicker)
  • Shift-click on a URL — open it in your browser without selecting it first

Profiles trick — colour your prod sessions red. Under Preferences → Profiles you can create multiple profiles, each with its own colour scheme, font, and starting size. A really useful pattern is to make a separate profile (say, Server SSH) with a red or dark-red background as a visual reminder that you’re not on your laptop anymore. Then launch into it directly:

1
gnome-terminal --profile="Server SSH" -- ssh user@server

It sounds gimmicky until the first time you almost rm -rf the wrong machine. 🚨

You can also have a Dark + Big profile for late-night work, a Light profile for screen sharing, and so on — switch via Terminal → Change Profile at any time. 💡

Posted in Linux, Ubuntu | Comments Off on Edit default Gnome-Terminal

Add an Existing User to an Existing Group on Linux

1
usermod -a -G GROUPNAME USERNAME
Posted in Linux | Comments Off on Add an Existing User to an Existing Group on Linux

Backup and Restore Postgres Using pg_dump and psql

This is how you backup your Postgres Database

To Backup

1
pg_dump --host=localhost --port=5432 --username=postgres --file=YOUR_FILENAME.sql YOUR_DB_NAME

There are other options such as if you’re interested only on the structure then you can add:

1
pg_dump --host=localhost --port=5432 --username=postgres --schema-only --format=p --create --inserts --file=YOUR_FILENAME.sql YOUR_DB_NAME

To Restore

1
psql -Upostgres -hlocalhost YOUR_DB_NAME < YOUR_FILENAME.sql
Posted in Database, PostgreSQL | Comments Off on Backup and Restore Postgres Using pg_dump and psql

Setting Session Authorization and Search Path

SET SESSION AUTHORIZATION jane;
SET search_path = schema1,schema2, schema3;
SELECT * FROM any_table_in_schema_1_2_or_3;

Posted in Database, PostgreSQL | Comments Off on Setting Session Authorization and Search Path

Implicit Casting in PostgreSQL

1
2
CREATE CAST(integer AS character varying) WITH INOUT AS IMPLICIT;
CREATE CAST (character varying AS integer) WITH INOUT AS IMPLICIT;
Posted in Database, PostgreSQL | Comments Off on Implicit Casting in PostgreSQL

Integer Array Casting in PostgreSQL

1
2
3
4
5
6
-- Rule: "_DELETE" ON sometable
-- DROP RULE "_DELETE" ON sometable;

CREATE OR REPLACE RULE "_DELETE" AS
    ON DELETE TO sometable DO INSTEAD  DELETE FROM _sometable
 WHERE _sometable.account_id = old.account_id AND (old.domain_id = ANY ((( SELECT get_visible_domains('DELETE'::text) AS get_visible_domains)::integer[])));
Posted in Database, PostgreSQL | Comments Off on Integer Array Casting in PostgreSQL

Tracing PostgreSQL Error Log

1
/pgsql/dev-db/tail -f postgresql.log
Posted in Database, Linux, PostgreSQL | Comments Off on Tracing PostgreSQL Error Log

Reset Sequence using PostgreSQL

1
SELECT setval('YOUR_SEQUENCE_NAME', (SELECT MAX(id) FROM YOUR_TABLE_NAME));
Posted in Database, PostgreSQL | Comments Off on Reset Sequence using PostgreSQL