

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tutorial: Buat Gambar Aplikasi Berbasis Linux WorkSpaces Kustom
<a name="tutorial-create-linux-image"></a>

Tutorial ini menjelaskan cara membuat gambar Aplikasi WorkSpaces Amazon berbasis Linux kustom yang berisi aplikasi yang dapat Anda streaming ke pengguna Anda.

**penting**  
Jangan membuat pengguna bernama “as2-streaming-user” di pembuat gambar Anda. Ini adalah nama pengguna yang dicadangkan untuk Fleet. Jika Anda membuat nama pengguna ini di luar alur kerja WorkSpaces Aplikasi, Anda mungkin mengalami masalah streaming di Armada.

**Topics**
+ [Langkah 1: Instal Aplikasi Linux pada Image Builder](#tutorial-linux-image-install)
+ [Langkah 2: Hasilkan File Manifes Pengoptimalan Aplikasi](#tutorial-linux-image-manifest)
+ [Langkah 3: Buat Katalog WorkSpaces Aplikasi Aplikasi](#tutorial-linux-image-catalog)
+ [Langkah 4: Buat Pengaturan Aplikasi Default dan Variabel Lingkungan](#tutorial-linux-image-create-default-app-settings)
+ [Langkah 5: Uji Aplikasi dan Pengaturan](#tutorial-linux-image-test-applications)
+ [Langkah 6: Selesai Membuat Gambar Anda](#tutorial-linux-image-finish-create-image)
+ [Langkah 7 (Opsional): Tag dan Salin Gambar](#tutorial-linux-image-tag-copy)
+ [Langkah 8: Bersihkan](#tutorial-linux-image-finish)

## Langkah 1: Instal Aplikasi Linux pada Image Builder
<a name="tutorial-linux-image-install"></a>

Pada langkah ini, Anda menghubungkan pembuat gambar Linux dan menginstal aplikasi Anda pada pembuat gambar.

**Untuk menginstal aplikasi pada pembuat gambar**

1. Connect ke image builder dengan melakukan salah satu hal berikut: 
   + [Gunakan konsol WorkSpaces Aplikasi](managing-image-builders-connect-console.md) (hanya untuk koneksi web)
   + [Buat URL streaming](managing-image-builders-connect-streaming-URL.md) (untuk koneksi klien web atau WorkSpaces Aplikasi)
**catatan**  
Anda akan masuk sebagai ImageBuilderAdmin pengguna ke desktop Amazon Linux GNOME dan memiliki hak admin root.

1. Instal aplikasi yang Anda butuhkan. Misalnya, untuk menginstal browser Chromium dari repo yum publik, pertama buka aplikasi Terminal, lalu jalankan perintah berikut:

   **[ImageBuilderAdmin]\$1 sudo yum update && sudo yum install chromium.x86\$164** 
**catatan**  
Unduh dan instal aplikasi hanya dari situs yang Anda percayai.

## Langkah 2: Hasilkan File Manifes Pengoptimalan Aplikasi
<a name="tutorial-linux-image-manifest"></a>

Pada langkah ini, Anda menghasilkan file manifes untuk setiap aplikasi yang Anda instal di langkah 1.

**Untuk menghasilkan file manifes untuk mengoptimalkan kinerja peluncuran aplikasi**

1. Pastikan aplikasi (misalnya, Chromium) yang Anda coba optimalkan diluncurkan dan dijalankan.

1. Di jendela Terminal, jalankan perintah berikut untuk membuat daftar proses yang terkait dengan aplikasi:

   **[ImageBuilderAdmin]\$1 ps -ef \$1 grep chromium **

1. Temukan PID induk root dari output perintah di atas. Berikut ini adalah contoh output, dan induk root PID adalah 16712:  
**Example**  

   ```
   [ImageBuilderAdmin]$ ps -ef | grep chromium
   
   ImageBu+ 16712 4128 0 Aug26 ? 00:00:44 /usr/lib64/chromium- browser/chromium-browser --enable-plugins --enable-extensions -- enable-user- scripts --enable-printing --enable-gpu-rasterization -- enable-sync --auto-ssl- client-auth
   
   ImageBu+ 16726 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygote --no-zygote-sandbox ImageBu+ 16727 16712 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium- browser --type=zygote
   
   ImageBu+ 16731 16727 0 Aug26 ? 00:00:00 /usr/lib64/chromium- browser/chromium-browser --type=zygot
   ```

1. Jaga agar aplikasi tetap berjalan dan pastikan untuk menggunakan komponen awal yang dibutuhkan oleh pengguna Anda. Ini memastikan bahwa komponen-komponen ini ditangkap oleh proses optimasi. 

1. Buat file script (misalnya,`~/getfilestool.sh`) dengan konten berikut:

   ```
   #!/bin/bash
   ## usage getfilestool.sh $pid
   lsof -p $(pstree -p $1 | grep -o '([0-9]\+)' | grep -o '[0-9]\+' | tr '\012' ,)|grep REG | sed -n '1!p' | awk '{print $9}'|awk 'NF'
   ```

1. Verifikasi bahwa file dapat dijalankan dengan menjalankan perintah berikut:

   **[ImageBuilderAdmin]\$1 chmod u\$1x \$1/getfilestool.sh** 

1. Jalankan perintah berikut untuk menangkap semua file yang berjalan dari proses induk root yang ditemukan pada langkah 3 di atas, dan simpan ke file manifes sementara:

   **[ImageBuilderAdmin]\$1 sudo \$1/getfilestool.sh 16712 > /tmp/chromium-manifest.txt **

1. Verifikasi konten manifes pengoptimalan, yang merupakan file teks yang dibatasi baris untuk setiap aplikasi.

## Langkah 3: Buat Katalog WorkSpaces Aplikasi Aplikasi
<a name="tutorial-linux-image-catalog"></a>

Pada langkah ini, Anda menggunakan alat CLI `AppStreamImageAssistant` pada pembuat gambar untuk membuat katalog WorkSpaces aplikasi Aplikasi dengan menentukan aplikasi untuk gambar Anda. Untuk setiap aplikasi yang Anda rencanakan untuk streaming, Anda dapat menentukan nama, nama tampilan, file yang dapat dieksekusi untuk diluncurkan, dan ikon yang akan ditampilkan.

**Untuk membuat katalog WorkSpaces aplikasi Aplikasi**

1. Dari desktop pembuat gambar, buka **Terminal** baik dari panel samping atau dengan membuka kisi aplikasi.

1. Jalankan **AppStreamImageAssistant --help** untuk melihat daftar perintah yang tersedia. Anda akan menggunakan perintah ini untuk menambahkan aplikasi dan membuat Gambar. 

1. Jalankan perintah berikut untuk menambahkan aplikasi yang diinstal (misalnya, Chromium) ke daftar aplikasi untuk pengguna WorkSpaces Aplikasi:

   ```
   AppStreamImageAssistant add-application \
    --name Chromium \
    --absolute-app-path /usr/lib64/chromium-browser/chromium-browser \
    --display-name Chromium \
    --absolute-icon-path /usr/share/icons/hicolor/256x256/apps/chromium-browser.png \
    --absolute-manifest-path /tmp/chromium-manifest.txt
   ```

   Atau, jalankan perintah berikut:

   ```
   AppStreamImageAssistant add-application \
    --name="Chromium" \
    --absolute-app-path="/usr/lib64/chromium-browser/chromium-browser" \
    --display-name="Chromium" \
    --absolute-icon-path="/usr/share/icons/hicolor/256x256/apps/chromium-browser.png" \
    --absolute-manifest-path="/tmp/chromium-manifest.txt"
   ```

1. Untuk menambahkan lebih banyak aplikasi, ulangi langkah 3 untuk setiap aplikasi tambahan.

1. Untuk melihat daftar aplikasi yang telah ditambahkan dalam katalog, bersama dengan metadata seperti jalur ikon dan parameter peluncuran, jalankan perintah berikut:

   **AppStreamImageAssistant list-applications**

1. Untuk menghapus aplikasi dari katalog, jalankan perintah berikut:

   **AppStreamImageAssistant remove-application –-name *application\$1name***

## Langkah 4: Buat Pengaturan Aplikasi Default dan Variabel Lingkungan
<a name="tutorial-linux-image-create-default-app-settings"></a>

Pada langkah ini, Anda membuat pengaturan aplikasi default dan variabel lingkungan untuk pengguna WorkSpaces Aplikasi Anda. Melakukan hal ini memungkinkan pengguna Anda untuk memulai dengan aplikasi dengan cepat selama sesi streaming WorkSpaces Aplikasi mereka, tanpa perlu membuat atau mengonfigurasi pengaturan ini sendiri.

**Untuk membuat variabel aplikasi dan lingkungan default untuk pengguna Anda**

1. Luncurkan aplikasi yang Anda inginkan buat pengaturan default untuk. Misalnya, di jendela Terminal, jalankan perintah berikut untuk meluncurkan browser Chromium:

    **[ImageBuilderAdmin]\$1 chromium-browser**

1. Konfigurasikan pengaturan aplikasi. Misalnya, atur halaman beranda browser Chromium sebagai**https://aws.amazon.com**.

1. **Pastikan aplikasi Chromium ditutup, lalu jalankan perintah berikut untuk menyalin konfigurasi Chromium ke/etc/skel:**

   **[ImageBuilderAdmin]\$1 sudo mkdir /etc/skel/.config**

   **[ImageBuilderAdmin]\$1 sudo cp -R \$1/.config/chromium /etc/skel/.config** 

1. Mengatur variabel lingkungan dan menambahkannya ke file script. Misalnya, jalankan perintah berikut:

   **[ImageBuilderAdmin]\$1 echo "export *FOO*=*BAR*" \$1 sudo tee -a /etc/profile.d/myenvvars.sh** 

   **[ImageBuilderAdmin]\$1 sudo chmod \$1x /etc/profile.d/myenvvars.sh** 

## Langkah 5: Uji Aplikasi dan Pengaturan
<a name="tutorial-linux-image-test-applications"></a>

Pada langkah ini, verifikasi bahwa aplikasi yang Anda tambahkan berjalan dengan benar, dan pengaturan aplikasi default dan variabel lingkungan berfungsi seperti yang diharapkan. 

**Untuk menguji aplikasi dan pengaturan default pada pembuat gambar**

1. Buat pengguna uji yang tidak memiliki izin root. Misalnya, di jendela **Terminal**, jalankan perintah berikut untuk membuat **pengguna uji** pada pembuat gambar:

   **[ImageBuilderAdmin]\$1 sudo useradd -m test-user**

   **[ImageBuilderAdmin]\$1 echo -e 'Pa55w0rdas2\$1\$1\$1\$1nPa55w0rdas2\$1\$1\$1\$1n' \$1 sudo passwd test-user** 

1. Beralih ke pengguna uji:

   **[ImageBuilderAdmin]\$1 su - test-user**

1. Luncurkan aplikasi (misalnya, Chromium) sebagai pengguna uji:

   **[test-user]\$1 /usr/bin/chromium-browser** 

1. Verifikasi bahwa pengaturan default tersedia untuk pengguna pengujian (misalnya, halaman beranda Chromium adalah https://aws.amazon.com/).

1. Verifikasi bahwa variabel lingkungan tersedia untuk pengguna uji. Sebagai contoh, jalankan perintah berikut:

   **[test-user]\$1 echo \$1*FOO***

   Perintah ini harus menampilkan output ***BAR*** di terminal.

1. Jalankan perintah berikut untuk menghapus pengguna uji sebelum membuat gambar dari pembuat gambar ini: 

   **\$1 logout test user**

   **[test-user]\$1 logout**

   **\$1 kill test user's running processes**

   **[ImageBuilderAdmin]\$1 sudo killall -u test-user**

   **\$1 delete user**

   **[ImageBuilderAdmin]\$1 sudo userdel -r test-user**

## Langkah 6: Selesai Membuat Gambar Anda
<a name="tutorial-linux-image-finish-create-image"></a>

Pada langkah ini, pilih nama gambar dan selesaikan pembuatan gambar Anda. 

**Untuk membuat gambar**

1. Di jendela **Terminal**, buat gambar dari Image Builder Anda dengan menjalankan**AppStreamImageAssistant create-image**. Gambar ini berisi aplikasi terinstal dan terdaftar Anda, ditambah skrip sesi dan pengaturan aplikasi default yang telah Anda konfigurasikan.

   Untuk melihat daftar opsi yang tersedia, jalankan**AppStreamImageAssistant create-image --help**. Untuk informasi selengkapnya, lihat operasi **create-image** di. [Buat Gambar WorkSpaces Aplikasi Amazon Anda Secara Terprogram dengan Menggunakan Operasi CLI Asisten Gambar](programmatically-create-image.md)

1. Sesi jarak jauh terputus setelah beberapa saat. Ketika pesan **Konektivitas Hilang** muncul, tutup tab browser. Saat gambar dibuat, status pembuat gambar muncul sebagai **Snapshotting**. Anda tidak dapat terhubung ke pembuat gambar sampai proses ini selesai. 

1. Kembali ke konsol dan arahkan ke **Images**, **Image Registry**. Verifikasi bahwa gambar baru Anda muncul dalam daftar.

   Saat gambar Anda sedang dibuat, status gambar di registri gambar konsol muncul sebagai **Pending**. Anda tidak dapat terhubung ke gambar yang berada dalam status **Tertunda**. 

1. Pilih ikon **Refresh** untuk memperbarui status. Setelah gambar Anda dibuat, status gambar berubah menjadi **Tersedia** dan pembuat gambar dihentikan secara otomatis.

   Untuk terus membuat gambar, mulai pembuat gambar dan sambungkan dari konsol, atau buat pembuat gambar baru.

## Langkah 7 (Opsional): Tag dan Salin Gambar
<a name="tutorial-linux-image-tag-copy"></a>

Anda dapat menambahkan satu atau beberapa tag ke gambar selama pembuatan gambar atau setelah Anda membuat gambar. Anda juga dapat menyalin gambar dalam Wilayah yang sama atau ke Wilayah baru dalam akun Amazon Web Services yang sama. Menyalin gambar sumber menghasilkan gambar tujuan yang identik tetapi berbeda. AWS Namun, tidak menyalin tag yang ditentukan pengguna. Selain itu, Anda hanya dapat menyalin gambar khusus yang Anda buat, bukan gambar dasar yang disediakan oleh AWS. 

**catatan**  
Anda dapat menyalin hingga dua gambar sekaligus ke tujuan. Jika tujuan Anda menyalin gambar berada pada batas gambar, Anda menerima kesalahan. Untuk menyalin gambar dalam hal ini, Anda harus terlebih dahulu menghapus gambar dari tujuan. Setelah tujuan berada di bawah kuota gambar (disebut juga limit), mulailah salinan gambar dari daerah sumber. Untuk informasi selengkapnya, lihat [Service Quotas WorkSpaces Aplikasi Amazon](limits.md).

**Untuk menambahkan tag ke gambar yang ada**

1. Di panel navigasi, pilih **Gambar**, **Registri Gambar**. 

1. Dalam daftar gambar, pilih gambar yang ingin Anda tambahkan tag.

1. Pilih **Tag**, pilih **Tambah/Edit Tag**, lalu pilih **Tambah** Tag. Tentukan kunci dan nilai untuk tag, lalu pilih **Simpan**.

Untuk informasi selengkapnya, lihat [Menandai Sumber Daya WorkSpaces Aplikasi Amazon Anda](tagging-basic.md).

**Untuk menyalin gambar**

Menyalin gambar di wilayah yang beragam secara geografis memungkinkan Anda melakukan streaming aplikasi dari beberapa wilayah berdasarkan gambar yang sama. Dengan streaming aplikasi Anda di dekat pengguna Anda, Anda dapat meningkatkan pengalaman pengguna Anda streaming aplikasi dengan WorkSpaces Aplikasi.

1. Di panel navigasi, pilih **Gambar**, **Registri Gambar**. 

1. Dalam daftar gambar, pilih gambar yang ingin Anda salin.

1. Pilih **Tindakan**, **Salin**.

1. Dalam **Salin Gambar** kotak dialog, tentukan informasi berikut, lalu pilih **Salin Gambar**:
   + Untuk **wilayah Tujuan**, pilih wilayah untuk menyalin gambar baru. 
   + Untuk **Nama**, tentukan nama yang akan dimiliki gambar saat disalin ke tujuan. 
   + Untuk **Deskripsi** (opsional), tentukan deskripsi yang akan dimiliki gambar saat disalin ke tujuan. 

1. Untuk memeriksa kemajuan operasi penyalinan, kembali ke konsol dan arahkan ke **Gambar**, **Registri Gambar**. Gunakan bilah navigasi untuk beralih ke wilayah tujuan (jika ada), dan konfirmasikan bahwa gambar baru Anda muncul dalam daftar gambar.

   Gambar baru pertama kali muncul dengan status **Menyalin** di registri gambar konsol Anda. Setelah gambar berhasil dibuat, status gambar berubah menjadi **Tersedia**, yang berarti Anda dapat menggunakan gambar untuk meluncurkan tumpukan dan streaming aplikasi Anda. 

## Langkah 8: Bersihkan
<a name="tutorial-linux-image-finish"></a>

Terakhir, Anda dapat menghentikan pembuat gambar yang sedang berjalan untuk membebaskan sumber daya dan menghindari biaya yang tidak diinginkan ke akun Anda. Kami merekomendasikan untuk menghentikan pembuat gambar yang tidak terpakai dan berjalan. Untuk informasi selengkapnya, lihat [Harga WorkSpaces Aplikasi](https://aws.amazon.com/appstream2/pricing/).

**Untuk menghentikan pembuat gambar yang sedang berjalan**

1. Di panel navigasi, pilih **Gambar**, **Pembuat Gambar**, dan pilih instance pembuat gambar yang sedang berjalan.

1. Pilih **Tindakan**, **Berhenti**.