Note: To make roux, use oil instead of butter, because butter burns.
Make the roux, mix oil and flour in a large heavy saucepan over low heat. Whisk flour into the oil to form a paste. Continue cooking over low heat and whisk continuously, until the mixture turns a caramel color and gives off a nutty aroma, about 15 to 20 minutes. To the roux, add the onion, green pepper, celery, and garlic and cook over low heat about 5 minutes, until the vegetables are limp. Add the black pepper, white pepper, cayenne pepper, Cajun seasoning, green onions, parsley, and hot sauce to taste. Add 1 can clam juice and the tomatoes with their juice, stir to blend. Add the salt, starting with 1 teaspoon then add more if needed.
Bring the mixture to a boil, reduce the heat to low and simmer for 10 to 15 minutes. Add shrimp and stir. It will take about 3 minutes for shrimp to cook, don't overcook. Remove from heat. Add the butter and stir; the heat from the dish will melt the butter. Transfer the etouffee to a tureen, serving bowl, or if you prefer, over rice. Garnish with the green onions.