Knowledge

XScreenSaver

Source 📝

1494: 131: 27: 1437: 1482: 295: 589:
Those Linux distributions that have replaced XScreenSaver with other screen-locking frameworks have suffered notable security problems. Those other frameworks have a history of security bugs that allow the screen to be un-locked without a password, e.g., by simply holding a key down until the locker
298: 593:
In 2004, Zawinski had written about the architectural decisions made in XScreenSaver with the goal of avoiding this very class of bug, leading him to quip in 2015, "If you are not running XScreenSaver on Linux, then it is safe to assume that your screen does not lock."
297: 302: 301: 296: 303: 609:
Though many of the newer hacks take full advantage of the power of modern computers, the age of the project means that some of the older hacks may look dated to modern eyes, as they were originally written for much less powerful computers.
440:
into a separate process from the screen locking framework. This means that a programming error in one of the graphical display modes cannot compromise the screen locker itself (e.g., a crash in a display mode will not unlock the screen).
300: 409:, and the developer discourages anyone from porting it. The author considers Microsoft to be "a company with vicious, predatory, anti-competitive business practices" and says that, as one of the original authors of 373:) use XScreenSaver almost exclusively. On those systems, there are several packages: one for the screen-saving and locking framework, and two or more for the display modes, divided somewhat arbitrarily. 444:
It also means that a third-party screen saver can be written in any language or with any graphics library, so long as it is capable of rendering onto an externally provided window.
299: 429:
is responsible for detecting idle-ness, blanking and locking the screen, and launching the display modes. The display modes (termed "hacks" from the historical usage "
574:. Earlier versions of these frameworks still depended upon the XScreenSaver collection of screen savers, which is over 90% of the package. However, in 2011, 606:, to 3D demonstrations of complex mathematical principles, to simulations of other computer systems, to re-creations of artifacts and effects from movies. 48: 41: 462:
Rather than forking the code-base and re-writing the hacks to target different platforms, XScreenSaver contains a number of compatibility layers.
535:
the display modes, the XScreenSaver daemon links with as few libraries as possible. In particular, it does not link against GUI frameworks like
953: 398:
systems, the XScreenSaver display modes work either as normal screen savers (which Android sometimes refers to as "Daydreams") or as
1498: 91: 63: 110: 70: 257: 755:
models of a series of common drugs and other molecules, of which thirty-eight (38) are built in. It can also read
578:
version 3 dropped support for screensavers completely, supporting only simple screen blanking, and as of 2018,
571: 77: 1441: 1072: 1519: 1160: 532: 437: 189: 59: 1524: 1472: 515: 492: 395: 335: 250: 646: 399: 562:
screen-blanking frameworks by default instead of the framework included with XScreenSaver. In 2011,
37: 1338: 1200: 1514: 1044: 710: 1410: 912: 752: 638: 355: 342:
in 1992 and is still maintained by him, with new releases coming out several times a year.
315: 84: 8: 824: 748: 734: 583: 551: 1388: 1022: 908: 1272: 426: 410: 1094: 391:
systems, XScreenSaver is a stand-alone app that can run any of the hacks full-screen.
756: 700: 676: 635: 575: 563: 555: 414: 406: 1222: 413:, he holds a "personal grudge" against Microsoft because of its behavior during the 804: 269: 233: 1000: 932: 879: 1366: 1316: 1294: 1250: 1137: 675:
program and running it. When run from the command-line, it is a fully functional
654: 631: 603: 567: 475: 452: 362: 1116: 978: 828: 738: 724: 377: 339: 150: 447:
For historical and portability reasons, the included hacks are all written in
1508: 1457: 351: 1486: 861: 766: 642: 430: 518:, XScreenSaver also contains an implementation of the X11 API in terms of 1317:"CVE-2019-3010, Privilege Escalation in Oracle Solaris XScreenSaver fork" 836: 479: 319: 274: 262: 851: 776: 775:– puts a moving spotlight across the desktop in the style of the 579: 157: 145: 130: 1178: 868: 840: 519: 504: 496: 436:
This is an important security feature, in that the display modes are
358: 323: 238: 1449: 285: 26: 1462: 668: 1411:"Sleep Mode: The Art of the Screensaver: Jamie Zawinski Interview" 894:– the filter-based fire effect, also known as flame effect. 690: 658: 370: 136: 807:
television set, including visual artifacts and reception issues.
1436: 1343: 1227: 979:"List of screen savers included in the XScreenSaver collection" 814: 797:– creates collages out of random images found on the Web. 787: 621: 500: 456: 448: 226: 218: 672: 650: 602:
The included hacks are highly varied, ranging from simple 2D
467: 381: 366: 327: 242: 1339:"Cinnamon-screensaver lock by-pass via the virtual keyboard" 720: 544: 1481: 559: 540: 536: 511: 488: 474:, XScreenSaver contains a complete implementation of the 471: 388: 331: 246: 222: 850:– based on the 1984 program regarded as the first 709:– 3D toasters fly around, inspired by the classic 487:
To allow the OpenGL 1.3-based hacks to run natively on
1161:"Re: What is the status of the screensaver in GNOME3?" 759:
from a file, or files placed in a directory, as input.
1470: 1295:"CVE-2015-7496, Hold ESC to unlock Gnome-session GDM" 765:– tiles the screen aperiodically with coloured 817:
and other celestial bodies that update in real time.
785:– an animation in the style of the video game 510:
And to allow the X11-based hacks to run natively on
888:– another effect common in older Amiga demos. 1251:"CVE-2014-1949, Cinnamon-Screensaver Lock Bypass" 586:4.0.8 no longer supports the XScreenSaver hacks. 499:, XScreenSaver contains an implementation of the 1506: 466:To allow the X11-based hacks to run natively on 835:Some of the included hacks are very similar to 634:variants from many computer systems, including 854:ever, showing the bouncing red and white ball. 380:systems, XScreenSaver works with the built-in 1389:"jwz.org blog post about Gnome security bugs" 973: 971: 882:similar to those common in older Amiga demos. 719:– an OpenGL animation of inter-meshing 860:– an implementation of full-screen 2D 733:– an OpenGL animation similar to the " 1273:"Mandriva Security Advisory MDVSA-2015:162" 671:computer, showing a user entering a simple 1095:"jwz.org blog post about the Android port" 968: 129: 111:Learn how and when to remove this message 1158: 420: 293: 1138:"XScreenSaver source code distribution" 1067: 1065: 1507: 1117:"XScreenSaver FAQ regarding KDE/Gnome" 1073:"jwz.org blog post about the iOS port" 905:Sleep Mode: The Art of the Screensaver 624:animation showing whales and dolphins. 47:Please improve this article by adding 547:for rendering the unlock dialog box. 338:operating systems. It was created by 1159:Campagna, Giovanni (21 March 2011). 1062: 954:"Debian XScreenSaver copyright list" 747:– an OpenGL animation showing 20: 872:– another common demo effect. 823:– animations similar to the " 307:Xscreensaver "GLMatrix" Screensaver 13: 1367:"XScreenSaver: On Toolkit Dialogs" 1023:"Debian XScreenSaver package list" 907:, a gallery exhibition curated by 433:") are each stand-alone programs. 14: 1536: 1429: 405:There is no official version for 1492: 1480: 1435: 1223:"Cinnamon-Screensaver Key Flood" 597: 25: 1403: 1381: 1359: 1331: 1309: 1287: 1265: 1243: 1215: 1193: 1171: 1152: 1130: 1045:"XScreenSaver: Windows Version" 195:6.08 / October 10, 2023 1179:"Linux Mint 19.1 Announcement" 1109: 1087: 1037: 1015: 1001:"XScreenSaver release history" 993: 946: 925: 361:operating systems running the 1: 1499:Free and open-source software 1201:"Gnome-Screensaver Key Flood" 918: 903:XScreenSaver was featured in 737:" title sequence seen in the 689:– a number of coloured 451:. About half of them use the 49:secondary or tertiary sources 803:– simulates an analog 495:systems, which only support 455:API, and about half use the 345: 7: 898: 613:Examples of hacks include: 526: 10: 1541: 135:XScreenSaver-demo and the 693:scroll across the screen. 630:– shows fake fatal 280: 268: 256: 232: 214: 210: 188: 184: 166: 156: 144: 128: 699:– a 3D display of 503:1.3 API built in top of 827:" sequence seen in the 779:film opening sequences. 757:PDB (Protein Data Bank) 197:; 11 months ago 550:In recent years, some 308: 172:; 32 years ago 36:relies excessively on 667:– simulates an 554:have begun using the 421:Software Architecture 306: 286:jwz.org/xscreensaver/ 1444:at Wikimedia Commons 913:Het Nieuwe Instituut 880:interference circles 639:Blue Screen of Death 584:cinnamon-screensaver 572:cinnamon-screensaver 543:, but uses only raw 478:API built on top of 316:free and open-source 16:Screensaver software 1520:Utilities for macOS 566:was forked as both 552:Linux distributions 318:collection of 240+ 170:17 August 1992 125: 1297:. 24 November 2015 1181:. 20 December 2018 1025:. 24 December 2020 956:. 24 December 2020 701:strange attractors 411:Netscape Navigator 309: 146:Original author(s) 123: 1525:X Window programs 1440:Media related to 1413:. 27 January 2017 1369:. 19 October 2004 1347:. 15 January 2021 1319:. 23 October 2019 1253:. 16 January 2015 1140:. 8 December 2020 1003:. 8 December 2020 981:. 8 December 2020 677:terminal emulator 636:Microsoft Windows 576:gnome-screensaver 564:gnome-screensaver 556:gnome-screensaver 425:The XScreenSaver 415:First Browser War 407:Microsoft Windows 304: 292: 291: 121: 120: 113: 95: 1532: 1497: 1496: 1495: 1485: 1484: 1476: 1467: 1453: 1452: 1450:Official website 1439: 1423: 1422: 1420: 1418: 1407: 1401: 1400: 1398: 1396: 1385: 1379: 1378: 1376: 1374: 1363: 1357: 1356: 1354: 1352: 1335: 1329: 1328: 1326: 1324: 1313: 1307: 1306: 1304: 1302: 1291: 1285: 1284: 1282: 1280: 1269: 1263: 1262: 1260: 1258: 1247: 1241: 1240: 1238: 1236: 1231:. 22 August 2014 1219: 1213: 1212: 1210: 1208: 1197: 1191: 1190: 1188: 1186: 1175: 1169: 1168: 1156: 1150: 1149: 1147: 1145: 1134: 1128: 1127: 1125: 1123: 1113: 1107: 1106: 1104: 1102: 1091: 1085: 1084: 1082: 1080: 1069: 1060: 1059: 1057: 1055: 1041: 1035: 1034: 1032: 1030: 1019: 1013: 1012: 1010: 1008: 997: 991: 990: 988: 986: 975: 966: 965: 963: 961: 950: 944: 943: 941: 939: 929: 909:Rafaël Rozendaal 805:cathode-ray tube 568:mate-screensaver 507:1.0 ("jwzgles"). 305: 288: 234:Operating system 205: 203: 198: 180: 178: 173: 133: 126: 122: 116: 109: 105: 102: 96: 94: 53: 29: 21: 1540: 1539: 1535: 1534: 1533: 1531: 1530: 1529: 1505: 1504: 1503: 1493: 1491: 1479: 1471: 1456: 1448: 1447: 1432: 1427: 1426: 1416: 1414: 1409: 1408: 1404: 1394: 1392: 1387: 1386: 1382: 1372: 1370: 1365: 1364: 1360: 1350: 1348: 1337: 1336: 1332: 1322: 1320: 1315: 1314: 1310: 1300: 1298: 1293: 1292: 1288: 1278: 1276: 1275:. 29 March 2015 1271: 1270: 1266: 1256: 1254: 1249: 1248: 1244: 1234: 1232: 1221: 1220: 1216: 1206: 1204: 1203:. 16 April 2014 1199: 1198: 1194: 1184: 1182: 1177: 1176: 1172: 1167:(Mailing list). 1157: 1153: 1143: 1141: 1136: 1135: 1131: 1121: 1119: 1115: 1114: 1110: 1100: 1098: 1093: 1092: 1088: 1078: 1076: 1071: 1070: 1063: 1053: 1051: 1043: 1042: 1038: 1028: 1026: 1021: 1020: 1016: 1006: 1004: 999: 998: 994: 984: 982: 977: 976: 969: 959: 957: 952: 951: 947: 937: 935: 931: 930: 926: 921: 911:at Rotterdam's 901: 878:– moving 839:created by the 725:planetary gears 707:Flying toasters 655:Guru Meditation 632:screen of death 600: 531:In addition to 529: 423: 400:live wallpapers 363:X Window System 348: 294: 284: 206: 201: 199: 196: 176: 174: 171: 167:Initial release 140: 117: 106: 100: 97: 54: 52: 46: 42:primary sources 30: 17: 12: 11: 5: 1538: 1528: 1527: 1522: 1517: 1502: 1501: 1489: 1469: 1468: 1458:"XScreenSaver" 1454: 1445: 1431: 1430:External links 1428: 1425: 1424: 1402: 1391:. 4 April 2015 1380: 1358: 1330: 1308: 1286: 1264: 1242: 1214: 1192: 1170: 1151: 1129: 1108: 1086: 1075:. 19 June 2012 1061: 1036: 1014: 992: 967: 945: 923: 922: 920: 917: 900: 897: 896: 895: 889: 883: 873: 865: 855: 833: 832: 829:Matrix trilogy 818: 813:– draws 808: 798: 792: 780: 770: 760: 753:ball-and-stick 742: 739:Matrix trilogy 728: 714: 704: 694: 684: 662: 625: 599: 596: 528: 525: 524: 523: 508: 484: 483: 422: 419: 384:screen saver. 347: 344: 340:Jamie Zawinski 290: 289: 282: 278: 277: 272: 266: 265: 260: 254: 253: 236: 230: 229: 216: 212: 211: 208: 207: 194: 192: 190:Stable release 186: 185: 182: 181: 168: 164: 163: 162:Jamie Zawinski 160: 154: 153: 151:Jamie Zawinski 148: 142: 141: 134: 119: 118: 60:"XScreenSaver" 33: 31: 24: 15: 9: 6: 4: 3: 2: 1537: 1526: 1523: 1521: 1518: 1516: 1513: 1512: 1510: 1500: 1490: 1488: 1483: 1478: 1477: 1474: 1465: 1464: 1459: 1455: 1451: 1446: 1443: 1438: 1434: 1433: 1412: 1406: 1390: 1384: 1368: 1362: 1346: 1345: 1340: 1334: 1318: 1312: 1296: 1290: 1274: 1268: 1252: 1246: 1230: 1229: 1224: 1218: 1202: 1196: 1180: 1174: 1166: 1162: 1155: 1139: 1133: 1118: 1112: 1097:. 23 May 2016 1096: 1090: 1074: 1068: 1066: 1050: 1046: 1040: 1024: 1018: 1002: 996: 980: 974: 972: 955: 949: 934: 928: 924: 916: 914: 910: 906: 893: 890: 887: 884: 881: 877: 874: 871: 870: 866: 863: 859: 856: 853: 849: 846: 845: 844: 842: 838: 830: 826: 822: 819: 816: 812: 809: 806: 802: 799: 796: 793: 790: 789: 784: 781: 778: 774: 771: 768: 767:Penrose tiles 764: 761: 758: 754: 750: 749:space-filling 746: 743: 740: 736: 732: 729: 726: 722: 718: 715: 712: 708: 705: 702: 698: 695: 692: 688: 685: 682: 678: 674: 670: 666: 663: 660: 656: 652: 648: 644: 640: 637: 633: 629: 626: 623: 619: 616: 615: 614: 611: 607: 605: 598:Display Modes 595: 591: 587: 585: 581: 577: 573: 569: 565: 561: 557: 553: 548: 546: 542: 538: 534: 521: 517: 513: 509: 506: 502: 498: 494: 490: 486: 485: 481: 477: 473: 469: 465: 464: 463: 460: 458: 454: 450: 445: 442: 439: 434: 432: 428: 418: 416: 412: 408: 403: 401: 397: 392: 390: 385: 383: 379: 374: 372: 368: 364: 360: 357: 353: 352:free software 343: 341: 337: 333: 329: 325: 321: 317: 313: 287: 283: 279: 276: 273: 271: 267: 264: 261: 259: 255: 252: 248: 244: 240: 237: 235: 231: 228: 224: 220: 217: 213: 209: 193: 191: 187: 183: 169: 165: 161: 159: 155: 152: 149: 147: 143: 138: 132: 127: 115: 112: 104: 93: 90: 86: 83: 79: 76: 72: 69: 65: 62: –  61: 57: 56:Find sources: 50: 44: 43: 39: 34:This article 32: 28: 23: 22: 19: 1515:Screensavers 1461: 1442:XScreenSaver 1415:. Retrieved 1405: 1393:. Retrieved 1383: 1371:. Retrieved 1361: 1349:. Retrieved 1342: 1333: 1321:. Retrieved 1311: 1299:. Retrieved 1289: 1277:. Retrieved 1267: 1255:. Retrieved 1245: 1233:. Retrieved 1226: 1217: 1205:. Retrieved 1195: 1183:. Retrieved 1173: 1164: 1154: 1142:. Retrieved 1132: 1120:. Retrieved 1111: 1099:. Retrieved 1089: 1077:. Retrieved 1052:. Retrieved 1048: 1039: 1027:. Retrieved 1017: 1005:. Retrieved 995: 983:. Retrieved 958:. Retrieved 948: 936:. Retrieved 927: 904: 902: 891: 885: 875: 867: 862:bump mapping 857: 847: 837:demo effects 834: 825:digital rain 820: 810: 800: 794: 786: 782: 772: 762: 744: 735:digital rain 730: 716: 713:screensaver. 706: 696: 686: 680: 664: 643:kernel panic 627: 617: 612: 608: 601: 592: 588: 560:kscreensaver 549: 530: 461: 446: 443: 435: 431:display hack 424: 404: 393: 386: 375: 349: 320:screensavers 312:XScreenSaver 311: 310: 158:Developer(s) 124:XScreenSaver 107: 98: 88: 81: 74: 67: 55: 35: 18: 1417:24 December 1395:24 December 1373:24 December 1323:24 December 1279:24 December 1257:24 December 1235:24 December 1207:24 December 1185:24 December 1165:gnome-shell 1144:24 December 1122:24 December 1101:24 December 1079:24 December 1054:24 December 1049:www.jwz.org 1029:24 December 1007:24 December 985:24 December 960:24 December 933:"Changelog" 661:, and more. 657:" error, a 620:– an 604:psychedelia 356:open-source 275:MIT License 263:Screensaver 101:August 2019 1509:Categories 1351:15 January 1301:18 January 919:References 852:Amiga demo 795:Webcollage 783:Sproingies 777:James Bond 711:After Dark 649:crash, an 641:, a Linux 580:Linux Mint 533:sandboxing 482:("jwxyz"). 215:Written in 202:2023-10-10 177:1992-08-17 71:newspapers 38:references 915:in 2017. 886:ShadeBobs 869:Metaballs 841:demoscene 801:XAnalogTV 773:Spotlight 590:crashes. 520:OpenGL ES 505:OpenGL ES 497:OpenGL ES 459:1.3 API. 438:sandboxed 378:Macintosh 365:(such as 359:Unix-like 346:Platforms 1463:Freecode 899:See also 745:Molecule 731:GLMatrix 691:barcodes 681:Phosphor 669:Apple II 618:Atlantis 527:Security 1473:Portals 938:4 March 821:XMatrix 815:planets 811:XPlanet 763:Penrose 687:Barcode 679:(as is 659:sad Mac 516:Android 493:Android 396:Android 371:FreeBSD 336:Android 281:Website 270:License 251:Android 200: ( 175: ( 137:XMatrix 85:scholar 1344:GitHub 1228:GitHub 892:XFlame 876:Moire2 788:Q*bert 665:Apple2 647:Darwin 622:OpenGL 501:OpenGL 457:OpenGL 449:ANSI C 427:daemon 227:OpenGL 219:ANSI C 87:  80:  73:  66:  58:  1487:Linux 858:Bumps 848:Boing 721:gears 717:Gears 673:BASIC 651:Amiga 480:Cocoa 468:macOS 382:macOS 367:Linux 328:macOS 314:is a 243:macOS 92:JSTOR 78:books 1419:2020 1397:2020 1375:2020 1353:2021 1325:2020 1303:2021 1281:2020 1259:2020 1237:2020 1209:2020 1187:2020 1146:2020 1124:2020 1103:2020 1081:2020 1056:2020 1031:2020 1009:2020 987:2020 962:2020 940:2024 723:and 697:Flow 645:, a 628:BSOD 570:and 545:Xlib 522:1.0. 514:and 491:and 470:and 369:and 354:and 350:The 334:and 324:Unix 322:for 258:Type 239:Unix 139:hack 64:news 751:or 582:'s 558:or 541:KDE 539:or 537:GTK 512:iOS 489:iOS 476:X11 472:iOS 453:X11 394:On 389:iOS 387:On 376:On 332:iOS 247:iOS 223:X11 40:to 1511:: 1460:. 1341:. 1225:. 1163:. 1064:^ 1047:. 970:^ 843:: 683:.) 417:. 402:. 330:, 326:, 249:, 245:, 241:, 225:, 221:, 51:. 1475:: 1466:. 1421:. 1399:. 1377:. 1355:. 1327:. 1305:. 1283:. 1261:. 1239:. 1211:. 1189:. 1148:. 1126:. 1105:. 1083:. 1058:. 1033:. 1011:. 989:. 964:. 942:. 864:. 831:. 791:. 769:. 741:. 727:. 703:. 653:" 204:) 179:) 114:) 108:( 103:) 99:( 89:· 82:· 75:· 68:· 45:.

Index


references
primary sources
secondary or tertiary sources
"XScreenSaver"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

XMatrix
Original author(s)
Jamie Zawinski
Developer(s)
Stable release
ANSI C
X11
OpenGL
Operating system
Unix
macOS
iOS
Android
Type
Screensaver
License
MIT License
jwz.org/xscreensaver/

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.