Index: uspace/lib/vt/include/vt/vt100.h
===================================================================
--- uspace/lib/vt/include/vt/vt100.h	(revision 514108ee2f699130ce74d59e6a1053acef648a16)
+++ uspace/lib/vt/include/vt/vt100.h	(revision 9d5cea69a2052df407ab967b3b8d3b2508f47151)
@@ -184,4 +184,5 @@
 extern void vt100_cursor_visibility(vt100_t *, bool);
 extern void vt100_set_button_reporting(vt100_t *, bool);
+extern void vt100_set_title(vt100_t *, const char *);
 extern void vt100_putuchar(vt100_t *, char32_t);
 extern void vt100_flush(vt100_t *);
Index: uspace/lib/vt/src/vt100.c
===================================================================
--- uspace/lib/vt/src/vt100.c	(revision 514108ee2f699130ce74d59e6a1053acef648a16)
+++ uspace/lib/vt/src/vt100.c	(revision 9d5cea69a2052df407ab967b3b8d3b2508f47151)
@@ -333,4 +333,16 @@
 }
 
+/** Set terminal title.
+ *
+ * @param vt VT instance
+ * @param title Terminal title
+ */
+void vt100_set_title(vt100_t *vt, const char *title)
+{
+	vt->cb->control_puts(vt->arg, "\033]0;");
+	vt->cb->control_puts(vt->arg, title);
+	vt->cb->control_puts(vt->arg, "\a");
+}
+
 /** Print Unicode character.
  *
Index: uspace/srv/hid/remcons/remcons.c
===================================================================
--- uspace/srv/hid/remcons/remcons.c	(revision 514108ee2f699130ce74d59e6a1053acef648a16)
+++ uspace/srv/hid/remcons/remcons.c	(revision 9d5cea69a2052df407ab967b3b8d3b2508f47151)
@@ -95,4 +95,5 @@
 static void remcons_set_rgb_color(con_srv_t *, pixel_t, pixel_t);
 static void remcons_cursor_visibility(con_srv_t *, bool);
+static errno_t remcons_set_caption(con_srv_t *, const char *);
 static errno_t remcons_get_event(con_srv_t *, cons_event_t *);
 static errno_t remcons_map(con_srv_t *, sysarg_t, sysarg_t, charfield_t **);
@@ -116,4 +117,5 @@
 	.set_rgb_color = remcons_set_rgb_color,
 	.set_cursor_visibility = remcons_cursor_visibility,
+	.set_caption = remcons_set_caption,
 	.get_event = remcons_get_event,
 	.map = remcons_map,
@@ -349,4 +351,15 @@
 
 	remcons->curs_visible = visible;
+}
+
+static errno_t remcons_set_caption(con_srv_t *srv, const char *caption)
+{
+	remcons_t *remcons = srv_to_remcons(srv);
+
+	if (remcons->enable_ctl) {
+		vt100_set_title(remcons->vt, caption);
+	}
+
+	return EOK;
 }
 
